[PATCH 0/1] block: don't inject fake timeouts on quiesced queues

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

 



While using the block fake timeout injector to reproduce a nvme error handling hang, a hang was
observed when the following script was run:

echo 100 > /sys/kernel/debug/fail_io_timeout/probability
echo 1000 > /sys/kernel/debug/fail_io_timeout/times
echo 1 > /sys/block/nvme0n1/io-timeout-fail
dd if=/dev/nvme0n1 of=/dev/null bs=512 count=1 


dmesg:

[  370.018164] INFO: task kworker/u113:9:1191 blocked for more than 122 seconds.
[  370.018849]       Not tainted 5.7.0-rc4 #1
[  370.019251] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  370.019653] kworker/u113:9  D    0  1191      2 0x80004000
[  370.019660] Workqueue: nvme-reset-wq nvme_reset_work [nvme]
[  370.019661] Call Trace:
[  370.019667]  __schedule+0x2dc/0x710
[  370.019668]  schedule+0x44/0xb0
[  370.019671]  blk_mq_freeze_queue_wait+0x4b/0xb0
[  370.019675]  ? finish_wait+0x80/0x80
[  370.019681]  nvme_wait_freeze+0x36/0x50 [nvme_core]
[  370.019683]  nvme_reset_work+0xb65/0xf2b [nvme]
[  370.019688]  process_one_work+0x1ab/0x380
[  370.019689]  worker_thread+0x37/0x3b0
[  370.019691]  kthread+0x120/0x140
[  370.019692]  ? create_worker+0x1b0/0x1b0
[  370.019693]  ? kthread_park+0x90/0x90
[  370.019696]  ret_from_fork+0x35/0x40

This occurs when a fake timeout is scheduled on a request that is in he process
of being cancelled due to the previous fake timeout.


Alan Adamson (1):
  block: don't inject fake timeouts on quiesced queues

 block/blk-timeout.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
1.8.3.1




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux