Re: powerpc/perf: hw breakpoints return ENOSPC
From: Peter Zijlstra <hidden>
Date: 2012-08-16 07:40:32
Also in:
linuxppc-dev
From: Peter Zijlstra <hidden>
Date: 2012-08-16 07:40:32
Also in:
linuxppc-dev
On Thu, 2012-08-16 at 14:23 +1000, Michael Neuling wrote:
On this second syscall, fetch_bp_busy_slots() sets slots.pinned to be 1, despite there being no breakpoint on this CPU. This is because the call the task_bp_pinned, checks all CPUs, rather than just the current CPU. POWER7 only has one hardware breakpoint per CPU (ie. HBP_NUM=1), so we return ENOSPC.
I think this comes from the ptrace legacy, we register a breakpoint on all cpus because when we migrate a task it cannot fail to migrate the breakpoint. Its one of the things I hate most about the hwbp stuff as it relates to perf. Frederic knows more...