Re: [patch 04/11] Introduce virtual debug register in thread_structand wrapper-routines around process related functions

From: Alan Stern
Date: Tue Mar 10 2009 - 11:53:52 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/