Ming Lei
a0ba41317c
scsi: core: Run queue in case of I/O resource contention failure
...
[ Upstream commit 3f0dcfbcd2e162fc0a11c1f59b7acd42ee45f126 ]
I/O requests may be held in scheduler queue because of resource contention.
The starvation scenario was handled properly in the regular completion
path but we failed to account for it during I/O submission. This lead to
the hang captured below. Make sure we run the queue when resource
contention is encountered in the submission path.
[ 39.054963] scsi 13:0:0:0: rejecting I/O to dead device
[ 39.058700] scsi 13:0:0:0: rejecting I/O to dead device
[ 39.087855] sd 13:0:0:1: [sdd] Synchronizing SCSI cache
[ 39.088909] scsi 13:0:0:1: rejecting I/O to dead device
[ 39.095351] scsi 13:0:0:1: rejecting I/O to dead device
[ 39.096962] scsi 13:0:0:1: rejecting I/O to dead device
[ 247.021859] INFO: task scsi-stress-rem:813 blocked for more than 122 seconds.
[ 247.023258] Not tainted 5.8.0-rc2 #8
[ 247.024069] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 247.025331] scsi-stress-rem D 0 813 802 0x00004000
[ 247.025334] Call Trace:
[ 247.025354] __schedule+0x504/0x55f
[ 247.027987] schedule+0x72/0xa8
[ 247.027991] blk_mq_freeze_queue_wait+0x63/0x8c
[ 247.027994] ? do_wait_intr_irq+0x7a/0x7a
[ 247.027996] blk_cleanup_queue+0x4b/0xc9
[ 247.028000] __scsi_remove_device+0xf6/0x14e
[ 247.028002] scsi_remove_device+0x21/0x2b
[ 247.029037] sdev_store_delete+0x58/0x7c
[ 247.029041] kernfs_fop_write+0x10d/0x14f
[ 247.031281] vfs_write+0xa2/0xdf
[ 247.032670] ksys_write+0x6b/0xb3
[ 247.032673] do_syscall_64+0x56/0x82
[ 247.034053] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 247.034059] RIP: 0033:0x7f69f39e9008
[ 247.036330] Code: Bad RIP value.
[ 247.036331] RSP: 002b:00007ffdd8116498 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 247.037613] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f69f39e9008
[ 247.039714] RDX: 0000000000000002 RSI: 000055cde92a0ab0 RDI: 0000000000000001
[ 247.039715] RBP: 000055cde92a0ab0 R08: 000000000000000a R09: 00007f69f3a79e80
[ 247.039716] R10: 000000000000000a R11: 0000000000000246 R12: 00007f69f3abb780
[ 247.039717] R13: 0000000000000002 R14: 00007f69f3ab6740 R15: 0000000000000002
Link: https://lore.kernel.org/r/20200720025435.812030-1-ming.lei@redhat.com
Cc: linux-block@vger.kernel.org
Cc: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-08-05 09:59:50 +02:00
..
2019-08-28 08:28:39 -05:00
2020-02-24 08:36:38 +01:00
2019-07-30 12:12:59 -04:00
2019-05-21 10:50:46 +02:00
2020-06-24 17:50:43 +02:00
2019-06-05 17:37:07 +02:00
2020-01-14 20:08:37 +01:00
2019-10-05 12:53:27 -07:00
2020-01-23 08:22:58 +01:00
2020-02-11 04:35:44 -08:00
2020-06-24 17:50:16 +02:00
2019-07-30 15:58:28 -04:00
2019-10-25 20:11:33 -04:00
2019-05-30 11:26:32 -07:00
2020-01-23 08:22:58 +01:00
2019-09-21 10:50:15 -07:00
2020-02-05 21:22:49 +00:00
2020-06-24 17:50:15 +02:00
2020-06-24 17:50:19 +02:00
2019-07-30 15:59:53 -04:00
2019-06-20 15:37:02 -04:00
2020-04-29 16:32:58 +02:00
2020-01-09 10:19:46 +01:00
2020-06-30 15:37:00 -04:00
2020-07-22 09:33:13 +02:00
2020-07-29 10:18:27 +02:00
2019-07-11 15:14:01 -07:00
2019-07-11 15:17:41 -07:00
2020-01-04 19:18:14 +01:00
2020-06-24 17:50:21 +02:00
2020-06-24 17:50:20 +02:00
2020-06-30 15:36:50 -04:00
2020-02-11 04:35:44 -08:00
2020-04-29 16:33:06 +02:00
2019-01-29 00:40:54 -05:00
2019-08-12 21:58:07 -04:00
2020-06-24 17:50:47 +02:00
2019-02-25 21:37:25 -05:00
2019-03-02 11:39:54 -08:00
2018-12-19 21:54:07 -05:00
2019-05-24 17:36:45 +02:00
2019-01-08 07:58:37 -05:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-07-11 15:17:41 -07:00
2019-07-11 15:17:41 -07:00
2019-05-21 10:50:45 +02:00
2018-12-18 23:13:12 -05:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:10 +01:00
2019-05-21 10:50:45 +02:00
2019-06-05 17:37:11 +02:00
2019-06-05 17:37:11 +02:00
2019-05-21 10:50:45 +02:00
2019-10-09 23:39:35 -04:00
2018-12-18 23:19:21 -05:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-11 15:17:41 -07:00
2019-06-20 15:21:33 -04:00
2019-07-30 12:18:24 -04:00
2019-06-18 19:46:18 -04:00
2019-07-30 12:17:28 -04:00
2019-06-18 19:46:22 -04:00
2019-05-21 10:50:45 +02:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:57:42 -05:00
2019-05-30 11:25:18 -07:00
2019-01-08 21:58:35 -05:00
2019-05-21 10:50:45 +02:00
2019-07-20 10:04:58 -07:00
2019-07-11 15:14:01 -07:00
2019-10-25 20:11:33 -04:00
2019-06-18 19:46:18 -04:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-07-11 15:17:41 -07:00
2019-05-21 11:28:46 +02:00
2020-04-01 11:01:54 +02:00
2020-04-01 11:01:54 +02:00
2018-12-18 23:19:21 -05:00
2018-11-06 21:31:28 -05:00
2020-06-24 17:50:37 +02:00
2020-02-24 08:36:50 +01:00
2019-05-30 11:26:37 -07:00
2019-05-21 10:50:45 +02:00
2020-07-22 09:32:57 +02:00
2019-05-24 17:36:45 +02:00
2019-07-11 15:14:01 -07:00
2019-12-21 11:05:04 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:10 +01:00
2019-07-17 22:39:27 +09:00
2019-09-23 23:09:42 -04:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2018-12-18 23:13:12 -05:00
2019-07-11 15:17:41 -07:00
2019-05-30 11:26:39 -07:00
2018-12-28 14:48:06 -08:00
2019-05-20 10:56:43 -04:00
2019-08-07 21:53:23 -04:00
2019-05-24 17:36:45 +02:00
2020-01-04 19:18:16 +01:00
2019-06-20 15:37:02 -04:00
2019-05-24 17:39:02 +02:00
2019-05-24 17:39:02 +02:00
2019-08-12 21:57:13 -04:00
2019-05-30 11:26:35 -07:00
2019-06-20 15:21:33 -04:00
2019-05-30 11:26:38 -07:00
2019-08-16 11:33:56 -07:00
2019-08-16 11:33:56 -07:00
2019-03-19 17:11:37 -04:00
2018-12-18 23:19:21 -05:00
2019-08-07 21:32:53 -04:00
2019-02-13 22:07:03 -05:00
2019-06-05 17:37:17 +02:00
2019-05-24 17:36:45 +02:00
2020-01-04 19:18:15 +01:00
2019-07-30 12:42:55 -04:00
2019-05-21 06:16:21 -04:00
2020-07-29 10:18:27 +02:00
2020-07-29 10:18:27 +02:00
2019-10-03 21:43:04 -04:00
2019-05-21 06:16:21 -04:00
2020-08-05 09:59:50 +02:00
2019-08-07 21:47:29 -04:00
2019-05-30 11:26:35 -07:00
2020-06-07 13:18:50 +02:00
2019-06-18 19:46:17 -04:00
2019-07-30 13:07:42 +02:00
2019-04-15 22:25:00 -04:00
2019-05-30 11:29:53 -07:00
2019-10-17 21:57:09 -04:00
2020-01-23 08:22:59 +01:00
2019-07-11 15:14:01 -07:00
2020-04-29 16:32:59 +02:00
2020-01-23 08:22:58 +01:00
2020-07-29 10:18:26 +02:00
2019-06-19 17:09:56 +02:00
2019-07-11 15:14:01 -07:00
2019-06-05 17:37:14 +02:00
2019-11-05 23:17:53 -05:00
2020-04-01 11:02:01 +02:00
2019-08-04 21:41:29 -06:00
2019-07-11 15:14:01 -07:00
2020-05-20 08:20:07 +02:00
2018-12-18 23:19:21 -05:00
2019-05-24 17:36:45 +02:00
2019-10-09 23:35:42 -04:00
2020-07-22 09:32:57 +02:00
2020-06-24 17:50:19 +02:00
2019-07-11 15:14:01 -07:00
2019-05-30 11:26:32 -07:00
2020-01-23 08:22:38 +01:00
2020-01-04 19:18:10 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-09-10 22:10:17 -04:00
2019-07-11 15:17:41 -07:00
2019-08-07 21:35:59 -04:00
2019-05-24 17:39:02 +02:00
2019-07-11 15:14:01 -07:00
2018-11-15 14:27:08 -05:00
2018-12-18 23:13:12 -05:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:17:37 +01:00