Blocked tasks due to CPU starvation from spinlock contention in pipe waitqueues
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.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
