Re: [PATCH] mm/page_isolation: fix a deadlock with printk()

From: Qian Cai
Date: Sat Oct 05 2019 - 21:10:39 EST




> On Oct 5, 2019, at 8:44 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> There is no "console_lock". Please be much more specific.
>
>> It is easier to avoid,
>>
>> zone_lock -> console_lock
>>
>> rather than fixing the opposite.
>
> "ease" isn't the main objective. A more important question is "what
> makes sense". We should be able to call printk() from anywhere, any
> time under any conditions. That can't be done 100% but it is the
> objective. printk() should be robust and not being able to call
> printk() while holding zone->lock isn't robust!
>
> btw, this:
>
> : It is unsafe to call printk() while zone->lock was held, i.e.,
> :
> : zone->lock --> console_sem
>
> doesn't make a lot of sense. console_sem is a sleeping lock so
> attempting to acquire it (with down()!) under spinlock is a huge bug.
> Again, please be careful with the descriptions.

Sorry, It is console_owner_lock.