Re: [PATCH v3 0/2] Add stop callback to the cpufreq_driver interface.

From: Dirk Brandewie
Date: Tue Mar 18 2014 - 15:25:43 EST

On 03/18/2014 12:08 PM, Srivatsa S. Bhat wrote:
On 03/18/2014 10:52 PM, dirk.brandewie@xxxxxxxxx wrote:
From: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx>

I don't mean to nitpick, but generally its easier to deal with
patchsets if you post the subsequent versions in fresh email threads.
Otherwise it can get a bit muddled along with too many other email
discussions in the same thread :-(

Changed the calling of the ->stop() callback to be conditional on the
core being the last core controlled by a given policy.

Wait, why? I'm sorry if I am not catching up with the discussions on
this issue quickly enough, but I don't see why we should make it
conditional on _that_. I thought we agreed that we should make it
conditional in the sense that ->stop() should be invoked only for
->setpolicy drivers, right?

This was done at Viresh's suggestion since thought there might be value
for ->target drivers.

Any of the options work for me
called only for set_policy scaling drivers
called unconditionally for all scaling drivers
called for last core controlled by a given policy

The way I look at it, ->stop() gives you a chance to stop managing
the CPU going offline. As in "stop this CPU". ->exit() is your chance
to cleanup the policy, since all its users have gone offline (or this
is the last CPU belonging to that policy which is going offline).

With this in mind, we should invoke ->stop() every time we take a
CPU offline, and invoke ->exit() only when the last CPU in the policy
goes offline.

This is exactly what will happen for intel_pstate since the policies cover
a single core.

I will defer to you and Viresh how policies that affect more that one
cpu should be handled.

What intel_pstate needs it to be called during the PREPARE phase of the
offline process.

What am I missing?

Srivatsa S. Bhat

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at