On Mon, Aug 04, 2014 at 04:50:44AM -0700, Paul E. McKenney wrote: > OK, I will bite... > > What kinds of tasks are on a runqueue, but neither ->on_cpu nor > PREEMPT_ACTIVE? Userspace tasks, they don't necessarily get PREEMPT_ACTIVE when preempted. Now obviously you're not _that_ interested in userspace tasks for this, so that might be ok. But the main point was, you cannot use ->on_cpu or PREEMPT_ACTIVE without holding rq->lock.