Re: [RFC] Fix 2.6.33 x86 regression to kgdb hw breakpoints - dueto perf API changes

From: Frederic Weisbecker
Date: Wed Dec 30 2009 - 11:40:11 EST


On Sat, Dec 12, 2009 at 03:01:58PM -0600, Jason Wessel wrote:
> Ingo Molnar wrote:
> > Basically we have two options:
> >
> > A- change kgdb to use the hw-breakpoints highlevel APIs (i'd prefer
> > that)
> >
> >
>
> Right now we can't because the high level code uses all sorts of mutexes
> and sync points to get the hw breakpoints installs on the various
> processors. After I re-spun my RFC patch, I found another problem. I
> do use the high level code to create a block of 4 (struct perf_event **)
> structures, but doing so ultimately calls the reserve hw breakpoint even
> though they are marked as disabled when created.
>
> Should I, or can I change that behavior?



We could probably have a helper that allocates a disabled breakpoint
without reserving it. But the problem remains: you'll need to take
locks when you eventually reserve it and when you activate it.

The fact that it can happen from nmi is really a problem.

Is there any possibility that we know the user has started a
kgdb session, and then reserve as much hardware breakpoints
as we can in kgdb at this time?

Thanks.

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