powerpc/perf: hw breakpoints return ENOSPC
Michael Ellerman
michael at ellerman.id.au
Fri Aug 17 11:20:26 EST 2012
On Thu, 2012-08-16 at 16:15 +0200, Peter Zijlstra wrote:
> On Fri, 2012-08-17 at 00:02 +1000, Michael Ellerman wrote:
> > You do want to guarantee that the task will always be subject to the
> > breakpoint, even if it moves cpus. So is there any way to guarantee that
> > other than reserving a breakpoint slot on every cpu ahead of time?
>
> That's not how regular perf works.. regular perf can overload hw
> resources at will and stuff is strictly per-cpu.
..
> For regular (!pinned) events, we'll RR the created events on the
> available hardware resources.
Yeah I know, but that isn't really the semantics you want for a
breakpoint. You don't want to sometimes have the breakpoint active and
sometimes not, it needs to be active at all times when the task is
running.
At the very least you want it to behave like a pinned event, ie. if it
can't be scheduled you get notified and can tell the user.
> HWBP does things completely different and reserves a slot over all CPUs
> for everything, thus stuff completely falls apart.
So it would seem :)
I guess my point was that reserving a slot on each cpu seems like a
reasonable way of guaranteeing that wherever the task goes we will be
able to install the breakpoint.
But obviously we need some way to make it play nice with perf.
cheers
More information about the Linuxppc-dev
mailing list