Re: [PATCH RFC tip/core/rcu 2/9] rcu: Provide cond_resched_rcu_qs() to force quiescent states in long loops

From: Peter Zijlstra
Date: Tue Jul 29 2014 - 03:56:14 EST


On Mon, Jul 28, 2014 at 03:56:13PM -0700, Paul E. McKenney wrote:
> From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
>
> RCU-tasks requires the occasional voluntary context switch
> from CPU-bound in-kernel tasks. In some cases, this requires
> instrumenting cond_resched(). However, there is some reluctance
> to countenance unconditionally instrumenting cond_resched() (see
> http://lwn.net/Articles/603252/),

No, if its a good reason mention it, if not ignore it.

> so this commit creates a separate
> cond_resched_rcu_qs() that may be used in place of cond_resched() in
> locations prone to long-duration in-kernel looping.

Sounds like a pain and a recipe for mistakes. How is joe kernel hacker
supposed to 1) know about this new api, and 2) decide which to use?

Heck, even I wouldn't know, and I just read the damn patch.

Attachment: pgpRUE0c86Uzj.pgp
Description: PGP signature