[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1345652628-15060-1-git-send-email-fweisbec@gmail.com>
Date: Wed, 22 Aug 2012 18:23:38 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Frederic Weisbecker <fweisbec@...il.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Chris Zankel <chris@...kel.net>, "3.2.x.." <stable@...nel.org>,
Chen Liqin <liqin.chen@...plusct.com>,
Lennox Wu <lennox.wu@...il.com>,
"James E.J. Bottomley" <jejb@...isc-linux.org>,
Helge Deller <deller@....de>,
Parisc <linux-parisc@...r.kernel.org>,
David Howells <dhowells@...hat.com>,
Koichi Yasutake <yasutake.koichi@...panasonic.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
m68k <linux-m68k@...ts.linux-m68k.org>,
Hirokazu Takata <takata@...ux-m32r.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Mikael Starvik <starvik@...s.com>,
Jesper Nilsson <jesper.nilsson@...s.com>,
Cris <linux-cris-kernel@...s.com>,
Richard Henderson <rth@...ddle.net>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Matt Turner <mattst88@...il.com>,
alpha <linux-alpha@...r.kernel.org>
Subject: [PATCH 00/10] rcu: Add missing RCU idle APIs on idle loop
So this fixes some potential RCU stalls in a bunch of architectures.
When rcu_idle_enter()/rcu_idle_exit() became a requirement, we forgot
to handle the architectures that don't support CONFIG_NO_HZ.
I guess the set should be dispatched into arch maintainer trees.
I'm sorry I haven't built tested everywhere. But the changes are
small and need to be at least boot tested anyway.
Also many of these archs use the same kind of idle loop:
void cpu_idle(void)
{
while (1) {
rcu_idle_enter();
while (!need_resched())
//power saving function()
rcu_idle_exit();
schedule_preempt_disabled();
}
}
So once the set is merged, I'll probably try to consolidate this with a generic
simple cpu_idle() that does the above and calls the arch power saving
function. This will be only for archs that use this simple idle loop
of course.
Thanks.
Frederic Weisbecker (10):
alpha: Add missing RCU idle APIs on idle loop
cris: Add missing RCU idle APIs on idle loop
frv: Add missing RCU idle APIs on idle loop
h8300: Add missing RCU idle APIs on idle loop
m32r: Add missing RCU idle APIs on idle loop
m68k: Add missing RCU idle APIs on idle loop
mn10300: Add missing RCU idle APIs on idle loop
parisc: Add missing RCU idle APIs on idle loop
score: Add missing RCU idle APIs on idle loop
xtensa: Add missing RCU idle APIs on idle loop
arch/alpha/kernel/process.c | 6 +++++-
arch/cris/kernel/process.c | 3 +++
arch/frv/kernel/process.c | 3 +++
arch/h8300/kernel/process.c | 3 +++
arch/m32r/kernel/process.c | 3 +++
arch/m68k/kernel/process.c | 3 +++
arch/mn10300/kernel/process.c | 3 +++
arch/parisc/kernel/process.c | 3 +++
arch/score/kernel/process.c | 4 +++-
arch/xtensa/kernel/process.c | 3 +++
10 files changed, 32 insertions(+), 2 deletions(-)
--
1.7.5.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists