Re: [PATCH 1/2] perf/core: Adding capability to disable PMUs event multiplexing

From: Peter Zijlstra
Date: Wed Nov 06 2019 - 04:58:18 EST


On Wed, Nov 06, 2019 at 10:40:32AM +0100, Peter Zijlstra wrote:
> On Wed, Nov 06, 2019 at 01:01:40AM +0000, Ganapatrao Prabhakerrao Kulkarni wrote:
> > When PMUs are registered, perf core enables event multiplexing
> > support by default. There is no provision for PMUs to disable
> > event multiplexing, if PMUs want to disable due to unavoidable
> > circumstances like hardware errata etc.
> >
> > Adding PMU capability flag PERF_PMU_CAP_NO_MUX_EVENTS and support
> > to allow PMUs to explicitly disable event multiplexing.
>
> This doesn't make sense, multiplexing relies on nothing that normal
> event scheduling doesn't also rely on.
>
> Either you can schedule different sets of events, or you cannot.

More specifically, how is a reschedule due to rotation any different
than a reschedule due to context switch?

Both cases we do a full reprogram of the PMU.