Re: [ Linux 4.4 stable ] missing 'printk: set may_schedule for some of console_trylock() callers'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 25, 2017 at 10:28:16AM +0200, Michael Wang wrote:
> Hi, greg k-h
> 
> During our testing with 4.4.73 we got soft lockup like:
> 
>  NMI watchdog: BUG: soft lockup - CPU#2 stuck for 23s! [systemd-udevd:856]
>  ...
>  Call Trace:
>   [<ffffffff8109d139>] vprintk_emit+0x319/0x4a0
>   [<ffffffff8112182d>] printk_emit+0x33/0x3b
>   [<ffffffff812f9e9c>] ? simple_strtoull+0x2c/0x50 
>   [<ffffffff8109d39a>] devkmsg_write+0xaa/0x100
>   [<ffffffff8109d2f0>] ? vprintk+0x30/0x30
>   [<ffffffff811915f2>] do_readv_writev+0x1c2/0x270 
>   [<ffffffff8117899d>] ? kmem_cache_free+0x7d/0x1a0
>   [<ffffffff81191729>] vfs_writev+0x39/0x50
>   [<ffffffff8119240a>] SyS_writev+0x4a/0xd0
>   [<ffffffff8158bc97>] entry_SYSCALL_64_fastpath+0x12/0x6a
> 
> Currently in 4.4 the console_unlock() called by vprintk_emit() is with
> preemption disabled, so the cond_resched is not working, and soft lockup
> appear if it take too much time on writing data into every console.
> 
> We found the upstream patch:
>   commit 6b97a20d3a79 printk: set may_schedule for some of console_trylock() callers
> 
> which should have addressed this issue, but not included in the latest 4.4.78 stable
> yet, is there any plan on backport it in future?

That commit was in the 4.6 kernel release, so odds are, it's not on a
list of patches to backport any time soon :)

But, you can ask for it to be included, if you cc: the stable@vger list,
like I did here, and add the authors of the patch to the cc: asking if
they have any objection for it being backported (also added here...)

Sergey, any objection for me backporting this?

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]