[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180709110657.GL2476@hirez.programming.kicks-ass.net>
Date: Mon, 9 Jul 2018 13:06:57 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: David Woodhouse <dwmw2@...radead.org>
Cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
mhillenb@...zon.de, linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [RFC] Make need_resched() return true when rcu_urgent_qs
requested
On Mon, Jul 09, 2018 at 11:56:41AM +0100, David Woodhouse wrote:
> > But either proposal is exactly the same in this respect. The whole
> > rcu_urgent_qs thing won't be set any earlier either.
>
> Er.... Marius, our latencies in expand_fdtable() definitely went from
> ~10s to well below one second when we just added the rcu_all_qs() into
> the loop, didn't they? And that does nothing if !rcu_urgent_qs.
Argh I never found that, because obfuscation:
ruqp = per_cpu_ptr(&rcu_dynticks.rcu_urgent_qs, rdp->cpu);
...
smp_store_release(ruqp, true);
I, using git grep "rcu_urgent_qs.*true" only found
rcu_request_urgent_qs_task() and sync_sched_exp_handler().
But how come KVM even triggers that case; rcu_implicit_dynticks_qs() is
for NOHZ and offline CPUs.
Powered by blists - more mailing lists