Re: [PATCH rcu/urgent] Banishing kthreads

From: Paul E. McKenney
Date: Fri Jun 17 2011 - 17:01:11 EST


On Fri, Jun 17, 2011 at 04:35:23PM -0400, Mathieu Desnoyers wrote:
> * Paul E. McKenney (paulmck@xxxxxxxxxxxxxxxxxx) wrote:
> > This patchset banishes RCU kthreads from non-RCU_BOOST kernel threads.
> > The two patches are as follows:
> >
> > 1. Minimal patch that #ifdefs out the kthread code.
> >
> > 2. Code-movement patch that puts the code #ifdefed out above
> > under existing #ifdefs in kernel/rcutree_plugin.h.
>
> Hi Paul,
>
> I'm wondering about the impact of this change: so I guess that before
> the change, it was OK to go on a waitqueue (might_sleep()) within a
> call_rcu callback, but since the execution now moves to a softirq
> handler in non-RCU_BOOST kernels, it's not allowed anymore. I might be
> missing something though: was sleeping within call_rcu handlers already
> prohibited ? (never had to sleep in those, so I never had to check if it
> was allowed)

The callbacks are still executed in BH context, so any attempt to
sleep should get a warning message. Also, it switched to kthread quite
recently, so there hasn't been time for anyone to get used to it. ;-)

Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/