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

From: Lianwei Wang
Date: Sat Apr 02 2016 - 02:15:38 EST


>
> * 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.

Maybe someone else can find new user to play with the generic wake-up
call in the future.

Thanks,
Lianwei