Re: [patch 02/11] x86 architecture implementation of HardwareBreakpoint interfaces

From: Alan Stern
Date: Sat Mar 14 2009 - 12:11:08 EST


On Sat, 14 Mar 2009, Ingo Molnar wrote:

>
> * Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Sat, 14 Mar 2009, K.Prasad wrote:
> >
> > > Here's a summary of the intended changes to the patchset, which I hope
> > > to post early the following week. It tears down many features in the
> > > present submission (The write-up below is done without the benefit of
> > > actually having run into limitations while trying to chisel out code).
> > >
> > > - Adopt a static allocation method for registers, say FCFS (and perhaps
> > > botton-up for user-space allocations and the reverse for
> > > kernel-space), although individual counters to do book-keeping should also
> > > suffice.
> >
> > You can't enforce bottom-up allocation for userspace breakpoint
> > requests. [...]
>
> That's not the point.
>
> The point is to offer a reasonable and simple static allocator
> that will work fine with usual gdb usage. If something takes
> away db4 that's as if user-space took away all registers - tough
> luck.
>
> You are trying to put complexity into a situation that is not
> schedulable hence not resolvable _anyway_. There's just 4 debug
> registers, not more. If the combined usage goes above four
> someone will lose anyway - even with your allocator.

You are reading far more into my message than what I wrote.

I'm _not_ trying to put complexity anywhere. All I did was point out
that Prasad was wrong to state that the kernel could adopt (or enforce)
a bottom-up method for allocating debug registers for userspace
breakpoints. I trust you aren't trying to imply that he really was
right?

> With my proposal the 'loss' can indeed come sooner if user-space
> took db4 and there's nothing left for the kernel anymore - but
> that's just an uninteresting special case that wont occur with
> typical debug-register usage.
>
> If it ever causes problems seriously _then_ will be the time to
> consider "is it worth adding a more complex, dynamic allocator
> for debug registers". Not now. This stuff is currently
> over-designed and not acceptable to me in its current form.

My message didn't mention a word about more complex, dynamic
allocation. Just the opposite, in fact -- because if we did virtualize
the debug registers then we _would_ be able to enforce bottom-up
allocation.

So in the end, you're _agreeing_ with what I wrote. And yet the tone
of your reply suggests that you seemed to think that my message had
some deep, hostile intent. It didn't.

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/