Blocked tasks due to CPU starvation from spinlock contention in pipe waitqueues

Solution Unverified - Updated -

Issue

  • System log shows blocked tasks:
INFO: task updatedb:10673 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
updatedb      D ffffffff80153806     0 10673  10648                     (NOTLB)
 ffff810193747e88 0000000000000082 ffff810193747ea8 ffffffff8000da09
 ffff81025b32a150 000000000000000a ffff8102ff8eb0c0 ffff8101b1f667a0
 0013a734e43702c9 00000000000052d0 ffff8102ff8eb2a8 0000000dffffff9c
Call Trace:
 [<ffffffff8000da09>] permission+0x81/0xc8
 [<ffffffff8002319a>] file_move+0x36/0x44
 [<ffffffff800258ae>] filldir+0x0/0xb7
 [<ffffffff80063c4f>] __mutex_lock_slowpath+0x60/0x9b
 [<ffffffff80063c99>] .text.lock.mutex+0xf/0x14
 [<ffffffff80035379>] vfs_readdir+0x5c/0xa9
 [<ffffffff80038c2d>] sys_getdents+0x75/0xbd
 [<ffffffff8005d229>] tracesys+0x71/0xe0
 [<ffffffff8005d28d>] tracesys+0xd5/0xe0

Environment

  • Red Hat Enterprise Linux 5.6
  • Application using select() system call on pipes

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.