Re: [PATCH] perf_events: improve x86 event scheduling (v5)

From: Frederic Weisbecker
Date: Mon Jan 18 2010 - 11:51:26 EST


On Mon, Jan 18, 2010 at 05:26:13PM +0100, Peter Zijlstra wrote:
> On Mon, 2010-01-18 at 17:18 +0100, Frederic Weisbecker wrote:
> > On Mon, Jan 18, 2010 at 03:56:41PM +0100, Peter Zijlstra wrote:
> > > On Mon, 2010-01-18 at 15:45 +0100, Frederic Weisbecker wrote:
> > > >
> > > > > > That requires to know in advance if we have hardware pmu
> > > > > > in the list though (can be a flag in the group).
> > > > >
> > > > > Good point, but your proposed hw_check_constraint() call needs to know
> > > > > the exact same.
> > > >
> > > >
> > > > True. Whatever model we use anyway, both implement the same idea.
> > >
> > > Hmm, we seem to already have that problem (which would indicate another
> > > bug in the hw-breakpoint stuff), how do you deal with
> > > hw_perf_{enable,disable}() for the breakpoints?
> >
> >
> > We don't have ordering constraints for breakpoints, only constraints
> > on the number of available registers.
> >
> > So we check the constraints when a breakpoint registers. The
> > enable/disable then (is supposed to) always succeed on breakpoint
> > pmu, except for flexible breakpoints that can make it or not,
> > but no need to overwrite group scheduling for that.
>
> hw_perf_{enable,disable} are unrelated to groups.


Right hw_perf_enable/disable have no action on breakpoint events.
These were somehow considered as software events until now.

That raises the question: why perf_disable() only takes care
of hardware events? Very few software events can trigger
between perf_disable() and perf_enable() sections though.

May be I should handle breakpoints there.

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