F Frederic Weisbecker #
Message details and related content
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