Re: [External] Re: [PATCH 2/2] sched: mark PRINTK_DEFERRED_CONTEXT_MASK in __schedule()

From: Peter Zijlstra
Date: Mon Sep 28 2020 - 05:02:08 EST


On Mon, Sep 28, 2020 at 04:54:53PM +0800, Chengming Zhou wrote:
>
> 在 2020/9/28 下午3:32, Peter Zijlstra 写道:
> > On Mon, Sep 28, 2020 at 12:11:30AM +0800, Chengming Zhou wrote:
> >> The WARN_ON/WARN_ON_ONCE with rq lock held in __schedule() should be
> >> deferred by marking the PRINTK_DEFERRED_CONTEXT_MASK, or will cause
> >> deadlock on rq lock in the printk path.
> > It also shouldn't happen in the first place, so who bloody cares.
>
> Yes, but if our box deadlock just because a WARN_ON_ONCE, we have to
> reboot : (

You have to reboot anyway to get into the fixed kernel.

> So these WARN_ON_ONCE have BUG_ON effect ?  Or we should change to use
> BUG_ON ?

Or use a sane printk implementation, I never suffer this.