Ming Lei
f4560ffe8c
blk-mq: use QUEUE_FLAG_QUIESCED to quiesce queue
...
It is required that no dispatch can happen any more once
blk_mq_quiesce_queue() returns, and we don't have such requirement
on APIs of stopping queue.
But blk_mq_quiesce_queue() still may not block/drain dispatch in the
the case of BLK_MQ_S_START_ON_RUN, so use the new introduced flag of
QUEUE_FLAG_QUIESCED and evaluate it inside RCU read-side critical
sections for fixing this issue.
Also blk_mq_quiesce_queue() is implemented via stopping queue, which
limits its uses, and easy to cause race, because any queue restart in
other paths may break blk_mq_quiesce_queue(). With the introduced
flag of QUEUE_FLAG_QUIESCED, we don't need to depend on stopping queue
for quiescing any more.
Signed-off-by: Ming Lei <ming.lei@redhat.com >
Reviewed-by: Bart Van Assche <Bart.VanAssche@sandisk.com >
Signed-off-by: Jens Axboe <axboe@kernel.dk >
2017-06-18 14:24:27 -06:00
..
2017-05-04 16:08:52 +05:30
2017-05-08 17:15:13 -07:00
2017-04-25 09:04:29 +02:00
2017-05-23 20:32:10 +02:00
2017-05-22 10:39:11 +02:00
2017-05-02 11:02:41 +02:00
2017-05-24 09:44:07 +02:00
2017-04-21 10:45:01 -04:00
2017-05-08 19:03:25 -07:00
2017-06-04 23:10:05 -04:00
2017-06-01 17:05:04 -04:00
2017-04-24 21:49:15 +02:00
2017-05-11 10:44:22 -07:00
2017-05-15 12:51:38 +02:00
2017-05-16 10:24:27 +02:00
2017-05-22 10:39:10 +02:00
2017-05-11 11:12:26 -07:00
2017-05-01 12:37:29 +02:00
2017-05-04 12:31:02 -04:00
2017-04-30 22:17:36 +09:00
2017-05-08 17:15:15 -07:00
2017-05-10 15:33:45 +02:00
2017-04-26 15:58:22 +01:00
2017-05-16 16:16:30 -04:00
2017-05-23 11:01:28 -04:00
2017-05-09 15:15:47 -07:00
2017-06-08 09:03:33 +02:00
2017-04-28 18:09:59 -04:00
2017-05-02 10:16:05 -04:00
2017-04-20 12:09:55 -06:00
2017-04-20 12:09:55 -06:00
2017-06-18 12:40:59 -06:00
2017-06-09 09:27:32 -06:00
2017-06-18 14:24:27 -06:00
2017-06-18 14:24:27 -06:00
2017-05-11 14:19:00 -04:00
2017-04-26 23:54:06 -04:00
2017-05-17 16:58:32 -04:00
2017-05-24 12:43:30 -04:00
2017-06-05 16:59:12 +02:00
2017-05-01 16:15:18 -07:00
2017-04-20 14:56:58 +02:00
2017-04-18 20:41:12 +02:00
2017-04-20 12:09:55 -06:00
2017-05-03 08:50:52 -07:00
2017-06-11 15:51:56 -07:00
2017-05-08 17:15:11 -07:00
2017-05-08 17:15:11 -07:00
2017-05-13 17:52:16 -07:00
2017-05-05 15:54:45 +08:00
2017-06-09 09:27:32 -06:00
2017-04-26 23:57:53 +02:00
2017-04-20 13:47:46 +05:30
2017-04-18 11:42:36 -07:00
2017-05-30 11:25:45 +02:00
2017-04-20 16:31:06 +02:00
2017-06-18 10:08:55 -06:00
2017-05-08 17:15:11 -07:00
2017-05-03 10:04:56 -07:00
2017-04-27 05:13:04 -04:00
2017-05-25 13:44:28 -04:00
2017-06-13 11:45:14 +02:00
2017-04-30 01:26:34 -04:00
2017-05-04 11:44:37 -04:00
2017-05-04 11:44:41 -04:00
2017-05-08 17:15:13 -07:00
2017-06-05 16:59:10 +02:00
2017-06-02 15:07:37 -07:00
Merge branches 'for-4.11/upstream-fixes', 'for-4.12/accutouch', 'for-4.12/cp2112', 'for-4.12/hid-core-null-state-handling', 'for-4.12/hiddev', 'for-4.12/i2c-hid', 'for-4.12/innomedia', 'for-4.12/logitech-hidpp-battery-power-supply', 'for-4.12/multitouch', 'for-4.12/nti', 'for-4.12/upstream' and 'for-4.12/wacom' into for-linus
2017-05-02 11:01:10 +02:00
2017-05-04 19:15:35 -07:00
2017-05-03 12:38:20 -07:00
2017-06-09 09:27:32 -06:00
2017-04-28 12:28:45 +02:00
2017-04-27 16:34:29 -04:00
2017-05-24 16:27:14 -04:00
2017-05-03 08:50:52 -07:00
2017-04-18 13:40:00 -05:00
2017-04-19 13:58:51 -05:00
2017-04-25 13:20:46 -07:00
2017-05-04 18:06:17 +02:00
2017-05-08 17:15:12 -07:00
2017-05-03 15:52:09 -07:00
2017-06-02 15:07:37 -07:00
2017-04-23 15:51:26 +09:00
2017-05-02 15:53:46 -07:00
2017-05-08 17:15:11 -07:00
2017-06-09 13:29:48 +10:00
2017-05-17 21:50:27 -04:00
2017-05-08 17:15:14 -07:00
2017-05-03 15:52:10 -07:00
2017-05-10 11:29:23 -07:00
2017-04-19 20:27:50 +02:00
2017-05-04 14:01:24 -07:00
2017-06-02 15:07:38 -07:00
2017-05-03 15:52:11 -07:00
2017-05-03 15:52:10 -07:00
2017-06-02 15:07:38 -07:00
2017-06-02 15:07:38 -07:00
2017-05-23 10:04:41 +02:00
2017-05-03 19:12:27 -07:00
2017-04-24 14:30:46 -04:00
2017-04-21 14:05:36 -04:00
2017-05-10 21:46:22 -07:00
2017-05-11 21:30:57 -04:00
2017-05-03 09:51:24 -04:00
2017-05-10 13:03:38 -07:00
2017-04-26 13:03:04 -04:00
2017-04-21 10:45:01 -04:00
2017-05-08 19:01:06 -04:00
2017-05-20 10:11:34 -06:00
2017-06-05 16:59:16 +02:00
2017-06-16 08:25:54 +02:00
2017-05-09 15:15:47 -07:00
2017-05-09 22:55:58 +10:00
2017-05-11 10:26:22 -05:00
2017-05-22 18:01:46 +02:00
2017-05-05 11:36:44 -07:00
2017-05-08 17:15:10 -07:00
2017-04-28 10:23:19 -05:00
2017-06-07 12:20:49 +02:00
2017-04-18 14:21:04 -05:00
2017-05-26 10:51:18 -07:00
2017-04-26 22:39:08 -04:00
2017-05-09 10:01:15 -07:00
2017-05-05 22:54:28 +02:00
2017-04-25 13:20:46 -07:00
2017-05-08 17:15:11 -07:00
2017-05-08 17:15:12 -07:00
2017-05-09 16:43:23 +03:00
2017-05-23 07:40:44 -05:00
2017-05-24 18:24:07 -04:00
2017-04-18 11:38:20 -07:00
2017-05-02 06:29:22 -07:00
2017-04-19 09:29:18 -07:00
2017-05-10 10:30:46 -07:00
2017-04-21 05:59:27 -07:00
2017-04-21 05:59:27 -07:00
2017-05-01 16:22:40 -04:00
2017-05-01 10:26:40 -04:00
2017-05-03 15:52:10 -07:00
2017-05-03 15:52:09 -07:00
2017-06-15 14:30:14 +02:00
2017-05-05 18:16:23 -07:00
2017-05-08 17:15:12 -07:00
2017-05-18 17:38:24 +02:00
2017-05-02 16:40:27 -07:00
2017-04-18 11:42:36 -07:00
2017-06-08 08:25:19 -07:00
2017-04-26 11:23:28 -07:00
2017-04-26 11:23:28 -07:00
2017-04-26 16:32:17 -07:00
2017-05-05 18:49:20 -07:00
2017-06-07 00:57:37 +02:00
2017-05-03 15:52:11 -07:00
2017-04-26 14:44:39 -04:00
2017-05-02 10:45:15 -07:00
2017-05-08 17:15:15 -07:00
2017-05-18 17:38:24 +02:00
2017-04-19 09:29:17 -07:00
2017-05-08 17:15:14 -07:00
2017-06-05 16:59:05 +02:00
2017-05-02 23:41:43 +03:00
2017-05-02 23:41:43 +03:00
2017-04-24 12:35:56 -04:00
2017-05-09 16:43:22 +03:00
2017-05-03 15:52:08 -07:00
2017-05-12 15:57:15 -07:00