public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [ Linux 4.4 stable ] missing 'printk: set may_schedule for some of console_trylock() callers'
@ 2017-07-25  8:28 Michael Wang
  2017-07-25 13:57 ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Wang @ 2017-07-25  8:28 UTC (permalink / raw)
  To: gregkh; +Cc: linux-kernel@vger.kernel.org

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?

Regards,
Michael Wang

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-07-26  8:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-25  8:28 [ Linux 4.4 stable ] missing 'printk: set may_schedule for some of console_trylock() callers' Michael Wang
2017-07-25 13:57 ` Greg KH
2017-07-25 16:33   ` Sergey Senozhatsky
2017-07-26  8:44     ` Petr Mladek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox