All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2 00/10] Second attempt at blk-mq + nvme hotplug fixes
@ 2015-01-07  2:57 Keith Busch
  2015-01-07  2:57 ` [PATCHv2 01/10] blk-mq: Wake tasks entering queue on dying Keith Busch
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Keith Busch @ 2015-01-07  2:57 UTC (permalink / raw)


Second try, this time tested against many more scenarios than before
with error injection and surprise hot-removal and intermittent resets.

I'm adding a lot of stuff outside the driver, but I didn't find a
cleaner way to a lot of these things. This makes me a little nervous,
so please let me know if anything seems amiss here. I don't think any
of the blk-mq changes could possibly be harmful to anyone else since
nvme is the only driver that uses most of the additions.

The only issue remaining I found is unfreezing queues might tigger the
percpu_ref_reinit WARN_ON_ONCE when the driver restarts a request_queue
with queued up IO's.

This is against linux-block/for-next.

Jens,
I believe fourth one ("abort requeue list") is from you, but I didn't find
the patch.

Keith Busch (10):
  blk-mq: Wake tasks entering a dying queue 
  blk-mq: Export test for started requests
  blk-mq: Let drivers cancel requeue_work
  blk-mq: Export abort requeue list
  blk-mq: Allow requests to never expire
  blk-mq: End unstarted requests on a dying queue
  NVMe: Start driver allocated requests
  NVMe: Start and stop h/w queues on reset
  NVMe: Admin queue error handling
  NVMe: Command abort handling fixes

 block/blk-mq.c            |   46 ++++++++++++++-
 drivers/block/nvme-core.c |  142 +++++++++++++++++++++++++++++++--------------
 include/linux/blk-mq.h    |    3 +
 include/linux/blkdev.h    |    1 +
 4 files changed, 146 insertions(+), 46 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-01-07 19:36 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-07  2:57 [PATCHv2 00/10] Second attempt at blk-mq + nvme hotplug fixes Keith Busch
2015-01-07  2:57 ` [PATCHv2 01/10] blk-mq: Wake tasks entering queue on dying Keith Busch
2015-01-07 16:18   ` Jens Axboe
2015-01-07  2:57 ` [PATCHv2 02/10] blk-mq: Export test for started requests Keith Busch
2015-01-07  2:57 ` [PATCHv2 03/10] blk-mq: Let drivers cancel requeue_work Keith Busch
2015-01-07  2:57 ` [PATCHv2 04/10] blk-mq: Export abort requeue list Keith Busch
2015-01-07  2:57 ` [PATCHv2 05/10] blk-mq: Allow requests to never expire Keith Busch
2015-01-07 16:16   ` Jens Axboe
2015-01-07  2:58 ` [PATCHv2 06/10] blk-mq: End unstarted requests on a dying queue Keith Busch
2015-01-07  2:58 ` [PATCHv2 07/10] NVMe: Start driver allocated requests Keith Busch
2015-01-07  2:58 ` [PATCHv2 08/10] NVMe: Start and stop h/w queues on reset Keith Busch
2015-01-07  3:08   ` Keith Busch
2015-01-07  2:58 ` [PATCHv2 09/10] NVMe: Admin queue error handling Keith Busch
2015-01-07  2:58 ` [PATCHv2 10/10] NVMe: Command abort handling fixes Keith Busch
2015-01-07  7:42 ` [PATCHv2 00/10] Second attempt at blk-mq + nvme hotplug fixes Ming Lin
2015-01-07 16:20   ` Keith Busch
2015-01-07 19:36     ` Ming Lin
2015-01-07 16:22 ` Jens Axboe
2015-01-07 16:31   ` Keith Busch
2015-01-07 16:34     ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.