Messages in this thread |  | | From | Frederic Weisbecker <> | | Subject | [PATCH 00/10] rcu: Add missing RCU idle APIs on idle loop | | Date | Wed, 22 Aug 2012 18:23:38 +0200 |
| |
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
|  |