lkml.org 
[lkml]   [2009]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 04/11] Introduce virtual debug register in thread_struct and wrapper-routines around process related functions

* Alan Stern <stern@rowland.harvard.edu> wrote:

> 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.

yeah. This new facility is barely used, and such things should
always strive for 100% dumb simplicity. If the overhead of that
structure is ever a problem we can allocate it dynamically. (but
generally it's just not worth the pain)

Ingo


\
 
 \ /
  Last update: 2009-03-10 18:09    [W:0.311 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site