On Tue, Sep 29, 2015 at 12:27:55PM +0200, Peter Zijlstra wrote: > > Ingo requested I keep my debug check for the preempt_count invariant. > > Requested-by: Ingo Molnar <mi...@kernel.org> > Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org> > --- > kernel/sched/core.c | 5 +++++ > 1 file changed, 5 insertions(+) > > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -2503,6 +2503,11 @@ static struct rq *finish_task_switch(str > struct mm_struct *mm = rq->prev_mm; > long prev_state; > > + if (unlikely(WARN_ONCE(preempt_count() != 2,
That should have: s/2/2*PREEMPT_DISABLE_OFFSET/ or something, otherwise !PREEMPT_COUNT kernels will go funny. > + "corrupted preempt_count: %s/%d/0x%x\n", > + current->comm, current->pid, preempt_count()))) > + preempt_count_set(INIT_PREEMPT_COUNT); > + > rq->prev_mm = NULL; > > /* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/