Messages in this thread | | | Date | Tue, 10 Mar 2009 11:53:41 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [patch 04/11] Introduce virtual debug register in thread_struct and wrapper-routines around process related functions |
| |
On Tue, 10 Mar 2009, Ingo Molnar wrote:
> and why is this: > > > @@ -427,13 +427,9 @@ struct thread_struct { > > unsigned long ip; > > unsigned long fs; > > unsigned long gs; > > - /* Hardware debugging registers: */ > > - unsigned long debugreg0; > > - unsigned long debugreg1; > > - unsigned long debugreg2; > > - unsigned long debugreg3; > > - unsigned long debugreg6; > > - unsigned long debugreg7; > > + /* Hardware breakpoint info */ > > + unsigned long vdr6; > > + struct thread_hw_breakpoint *hw_breakpoint_info; > > detached from thread_struct? There's a lot of complications > (alloc/free, locking, etc.) from this for no good reason - the > hardware-breakpoints info structure is alway per thread and is > quite small, so there's no reason not to embedd it directly > inside thread_struct.
The only reason for separating it out was to avoid bogging down the vast majority of threads which aren't debugged. If you think the extra overhead isn't worth worrying about then the hw-breakpoint info structure can be embedded.
Alan Stern
| |