Re: [PATCH] a local-timer-free version of RCU

From: Frederic Weisbecker
Date: Wed Nov 10 2010 - 12:45:22 EST


On Wed, Nov 10, 2010 at 06:31:11PM +0100, Peter Zijlstra wrote:
> On Wed, 2010-11-10 at 16:54 +0100, Frederic Weisbecker wrote:
> > run the sched tick and if there was nothing to do
> > for some time and we are in userspace, deactivate it.
>
> Not for some time, immediately, have the tick track if it was useful, if
> it was not, have it stop itself, like:
>
> tick()
> {
> int stop = 1;
>
> if (nr_running > 1)
> stop = 0;
>
> if(rcu_needs_cpu())
> stop = 0;
>
> ...
>
>
> if (stop)
> enter_nohz_mode();



If we are in userspace then yeah, let's enter nohz immediately.
But if we are in kernelspace, we should probably wait a bit before
switching to nohz, like one HZ, as rcu critical sections are quite
numerous.
We probably don't want to reprogram the timer everytime we enter
a new rcu_read_lock().

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/