lkml.org 
[lkml]   [2009]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [RFC][PATCH 5/5] perfcounter: Add support for kernel hardware breakpoints
From
2009/7/23 Peter Zijlstra <a.p.zijlstra@chello.nl>:
> On Mon, 2009-07-20 at 13:08 -0400, Frederic Weisbecker wrote:
>> This adds the support for kernel hardware breakpoints in perfcounter.
>> It is added as a new type of software counter and can be defined by
>> using the counter number 5 and by passsing the address of the
>> breakpoint to set through the config attribute.
>
> Is there a limit to these hardware breakpoints? If so, the software
> counter model is not sufficient, since we assume we can always schedule
> all software counters. However if you were to add more counters than you
> have hardware breakpoints you're hosed.
>
>

Hmm, indeed. But this patch handles this case:

+static const struct pmu *bp_perf_counter_init(struct perf_counter *counter)
+{
+ if (hw_breakpoint_perf_init((unsigned long)counter->attr.config))
+ return NULL;
+
IIRC, hw_breakpoint_perf_init() calls register_kernel_breakpoint() which in turn
returns -ENOSPC if we haven't any breakpoint room left.

It seems we can only set 4 breakpoints simultaneously in x86, or
something close to that.


\
 
 \ /
  Last update: 2009-07-24 16:05    [from the cache]
©2003-2011 Jasper Spaans