Re: [PATCH RESEND] smp: make wake up idle cpus more generic

From: Lianwei Wang
Date: Sun Apr 03 2016 - 03:11:27 EST


On Sat, Apr 2, 2016 at 6:10 AM, Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:
> On 04/02/2016 08:15 AM, Lianwei Wang wrote:
>>>
>>>
>>> * Lianwei Wang <lianwei.wang@xxxxxxxxx> wrote:
>>>
>>>> The wake_up_all_idle_cpus API always wake up all the online
>>>> cpus, but sometimes we only want to wake up a set of cpus.
>>>> Use a generic function to wake up a group of cpus that is
>>>> specified by the cpumask parameter. This generic API can
>>>> benefit to the cases that only need to wake up a set of
>>>> cpus.
>>>
>>>
>>> What is the new user of this new argument to the wake-up call?
>>>
>>> Thanks,
>>>
>>> Ingo
>>
>>
>> The ARM big.LITTLE arch is one of the users to use the new wake up
>> call. Two clusters in these SoCs and each cluster has 2 or more CPUs.
>> For some cases, we only need to wake up the cpus on one cluster, not
>> all the cpus. The other cluster can keep in idle state to save power.
>> Another use case is that for the threads/irqs that bind to some cpus,
>> we also want to wake up the cpus that the threads/irqs bind to, and
>> the other cpus can stay in idle state. I'm updating the pm_qos code to
>> support binding the request to a set of cpus, and the
>> cpuidle_latency_notify call can pass the cpumask parameter to the new
>> wake-up call.
>
>
> Hi Lianwei,
>
> a quick suggestion : cpuidle_driver->cpumask
>
> -- Daniel
>
>
> --
> <http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs
>
> Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>

Yes, Daniel. Send a cpumask to cpuidle_driver from pm_qos. Did you do
it already? Or are you planing to do it?