Re: [PATCH v4 05/12] arm-cci: PMU: Add support for transactions

From: Suzuki K. Poulose
Date: Fri Dec 18 2015 - 05:58:24 EST


On 18/12/15 10:42, Peter Zijlstra wrote:
On Fri, Dec 18, 2015 at 10:28:23AM +0000, Suzuki K. Poulose wrote:
On 17/12/15 18:42, Peter Zijlstra wrote:
I thought about that, but was not sure if pmu->stop() is guaranteed to be
called on all the events scheduled on the PMU when we pmu::pmu_disable().
Is it ?

Not by core code, but you get to implement your pmu::pmu_disable() call,
and if that's what you need, you can make it do that.

OK.


Examples:

On some x86 hardware we indeed have to poke at each counter control
register and clear the ENable bit, which is the same what
pmu::stop(.flags=0) would do.

We have a global Enable/Disable for CCI PMU and thats what we use
currently. To be able to reprogram the counters with the event period
(we program the counter with a specific count in pmu::start() and at
overflow irq handler, not to be confused with the sampling period, which
is not supported), we need to be sure that the counter value has been updated.

May be we could check the event->hw->state to see if we need to reprogram it.

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