[RFC PATCH 2/2] arm64: kernel: perf: add pmu CPU PM notifier
ashwin.chaugule at linaro.org
Thu Mar 12 06:18:54 PDT 2015
On 11 March 2015 at 12:02, Kevin Hilman <khilman at kernel.org> wrote:
> Lorenzo Pieralisi <lorenzo.pieralisi at arm.com> writes:
>> When a CPU is being profiled through PMU events and it enters suspend
>> or idle states, the PMU registers content can be lost, which means that
>> counters that were relied upon on power down entry are reset on power
>> up to values that are incosistent with the profile session.
>> This patch adds a CPU PM notifier to arm64 perf code, that detects
>> on entry if events are being monitored, and if so, it returns
>> failure to the CPU PM notification chain, causing the suspend
>> thread or the idle thread to abort power down, therefore preventing
>> registers content loss.
>> By triggering CPU PM notification failure this patch prevents
>> suspending a system if the suspend thread is being profiled and
>> it also prevents entering idle deep states on cores that have profile
>> events in use, somehow limiting power management capabilities when
>> there are active perf sessions.
> I guess that's one choice. Couldn't you also stop the PMU and
> save/restore it's context in the notifiers? so that you wouldn't affect
> PM capabilities?
> That would imply that you lose the ability to profile after a certain
> point in suspend/idle, but maybe that's a better trade off than having
> profiling disable certain PM features?
I had something like that a few years ago on the Kraits and Scorpions .
More information about the linux-arm-kernel