On 09/12, Peter Zijlstra wrote: > > On Mon, Sep 12, 2016 at 03:05:38PM +0200, Oleg Nesterov wrote: > > > But this leads to the question which I wanted to ask many times. > > > > Why cond_resched() is not NOP if CONFIG_PREEMPT=y ? > > Dunno, nobody bothered to do it? We should keep the might_sleep() of > course, but the preemption check is pointless.
Yes, agreed, I actually meant _cond_resched(). > > Perhaps we have some users like, just for example, > > > > preempt_enable_no_resched(); > > cond_resched(); > > > > which actually want the should_resched() check even if CONFIG_PREEMPT, > > but most callers do not? > > I would hope not, the few preempt_enable_no_resched() users _should_ > have an actual schedule() call in the _very_ near future. Me too, and I failed to find something which could be broken... So perhaps should make it nop and investigate the new bug reports after that. Hmm. And preempt_enable_no_resched_notrace() under TASK_DEAD in __schedule() should be removed it seems, do_exit() can call __schedule() directly. Oleg.