Re: Energy-efficiency options within RCU

From: Uladzislau Rezki
Date: Thu Dec 10 2020 - 14:25:45 EST


Hello, Paul.

[Dropping CC]

> Hello, Joel,
>
> In case you are -seriously- interested... ;-)
>
> Thanx, Paul
>
> rcu_nocbs=
>
> Adding a CPU to this list offloads RCU callback invocation from
> that CPU's softirq handler to a kthread. In big.LITTLE systems,
> this kthread can be placed on a LITTLE CPU, which has been
> demonstrated to save significant energy in benchmarks.
> http://www.rdrop.com/users/paulmck/realtime/paper/AMPenergy.2013.04.19a.pdf
>
I have checked our config. We do use rcu_nocbs=0-7 as kthreads but what
i see those threads are not bound to 0-3 CPUs. In our case it is little
cluster. I think i should check and run some test cases regarding power
savings if i pin all threads to little cluster.

> rcutree.rcu_idle_gp_delay= (Only CONFIG_RCU_FAST_NO_HZ=y kernels.)
>
> This defaults to four jiffies on the theory that grace periods
> tend to last about that long. If grace periods tend to take
> longer, then it makes a lot of sense to increase this. And maybe
> battery-powered devices would rather have it be about 2x or 3x
> the expected grace-period duration, who knows?
>
> I would keep it to a power of two, but the code should work with
> other numbers. Except that I don't know that this has ever been
> tested. ;-)
>
Same here. We do use it.

--
Vlad Rezki