On Fri, 2018-07-06 at 10:11 -0700, Paul E. McKenney wrote: > > The preempt state is alread a bit complicated and shadowed in the > > preempt_count (on some architectures) adding additional bits to it like > > this is just asking for trouble. > > How about a separate need_resched_rcu() that includes the extra cache > miss?  Or open-coding the rcu_urgent_qs_requested()? Peter said "touch two cachelines". He didn't say it was a cache miss. Given that every single cond_resched() call touches the same cache line, and every single rcu_all_qs() and similar will also touch it, it's fairly much guaranteed *not* to be a miss... ... which is why I didn't really understand why he cared.