On Fri, Dec 18, 2009 at 12:33:20AM +0530, K.Prasad wrote: > On Mon, Dec 14, 2009 at 11:26:26AM -0800, Roland McGrath wrote: <snipped> > > What remains less than clear is how preemption relates. For any per-thread > > hw_breakpoint, there is no high-level reason to care one way or the other. > > The thread, its HW breakpoints, its register state including state of > > stepping, are all part of per-thread state and no reason to do any less (or > > more) preemption than normally happens. > > > > I get that reasoning now...I'd been unduly worried about pre-emption > and hence the introduction of pre-emption disabled state. > > But of course, in the existing design, the per-cpu variables would be > affected because if pre-emption was to occur. I'll see how that can be > factored in, while retaining the abstraction provided by the interfaces. > <snipped> > > As stated above, I was worried about a pre-emption happening between a > return from breakpoint exception handler and the execution of the > causative instruction....but as I learn, it seems fine now. It is just that > the kernel code needs to be tweaked keeping this in mind. > > Thanks, > K.Prasad >
Hi Roland, The cost of allowing pre-emption (such as storing the per-cpu variables into per-thread structures for user-space breakpoints and offsetting the effect of a new process between the hw-breakpoint handler and single-step handler) appears to far out-weigh the present approach (where pre-emption is disabled between two user-space instructions). It is also not clear to me if disabling pre-emption for the user-space (albeit for a very tiny time-window) is incorrect and if their side-effects are known. If otherwise, I think we should choose to operate in pre-empt safe mode and avoid all costs associated when done without it. I'm eager to know what you think. Thanks, K.Prasad _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev