>
> It looks to me that something either needs to wake up the idle cpu when
> an rcu callback is scheduled on it (I couldnt figure out how to do
> that), or it should not be scheduled on a completely idle cpu as this
> cpu is already in a quiescent state.

While there are other possibilities, I'm thinking if the RCU callback
softIRQ was not handed at the end of IPI handler (although to be
honest, I'm not entirely sure how it's raised in the first place, as
by just looking at the whole grace period handling, it's so
confusing:) ? As IPIs don't fall through the normal interrupt handling
logic, a proper irq_enter() and irq_exit() should be put surrounding
the generic IPI handler, in this case, it is
generic_smp_call_function_interrupt, if one expects it to run softirqs
and etc after the IPI. On x86, it has proper wrapper for the function
call IPI, not sure if your platform has it or not?

Regards,

Rong

-- 
unsubscribe: android-kernel+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-kernel

Reply via email to