[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200305003526.GA20601@paulmck-ThinkPad-P72>
Date: Wed, 4 Mar 2020 16:35:26 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: josh@...htriplett.org, rostedt@...dmis.org,
mathieu.desnoyers@...icios.com, jiangshanlai@...il.com,
joel@...lfernandes.org, bigeasy@...utronix.de, tglx@...utronix.de,
swood@...hat.com, williams@...hat.com, juri.lelli@...hat.com,
linux-rt-users@...r.kernel.org
Cc: rcu@...r.kernel.org, linux-kernel@...r.kernel.org, mingo@...nel.org
Subject: RCU use of swait
Hello!
RCU makes considerable use of swait and friends. The motivation I recall
was around offloaded callbacks, where in the old days the grace-period
kthread might do a wakeup for up to N tasks, where N is the number of
CPUs, all with interrupts disabled. This has since been reduced to
roughly sqrt(N) tasks, which might well still be too many wakeups to do
with interrupts disabled throughout.
However, the other use cases have at most one waiter to be awakened.
So I am guessing that I could usefully convert all but the rcu_node
structure's ->nocb_gp_wq field from swait to wait. Particularly the
use cases in SRCU and Tiny RCU.
Or is there some other reason why {S,}RCU needs to use swait that I
am forgetting?
Thanx, Paul
Powered by blists - more mailing lists