Re: [PATCH 3/5] hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf counters

K.Prasad
2009-09-14T17:28:48Z

On Thu, Sep 10, 2009 at 10:29:25AM +0200, Frederic Weisbecker wrote:
> This patch rebase the implementation of the breakpoints API on top of
> perf counters instances.
>
> The core breakpoint API has changed a bit:
>
> - register_kernel_hw_breakpoint() now takes a cpu as a parameter. For
> now it doesn't support all cpu wide breakpoints but this may be
> implemented soon.
>
> - unregister_kernel_hw_breakpoint() and unregister_user_hw_breakpoint()
> have been unified in a single unregister_hw_breakpoint()
>
> Each breakpoints now match a perf counter which now handles the
> register scheduling, thread/cpu attachment, etc..
>
[edited]
>
> -/*
> - * Load the debug registers during startup of a CPU.
> - */
> -void load_debug_registers(void)

It does not appear that perf handles CPUs that come up new (if else,
blame my understanding of find_get_context():-)) and hence post breakpoint
integration, the new CPUs wouldn't contain any breakpoint values (meant
for all CPUs). As mentioned in my previous mail, this could be
non-trivial lapse in debugging scenarios and even for users like
ksym_tracer in ftrace. Your patch would want to retain the
functionality of load_debug_registers().

Thanks,
K.Prasad