linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] block: rework flush sequencing for blk-mq
@ 2014-01-30 13:26 Christoph Hellwig
  2014-01-30 13:26 ` [PATCH 1/1] " Christoph Hellwig
  0 siblings, 1 reply; 37+ messages in thread
From: Christoph Hellwig @ 2014-01-30 13:26 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Shaohua Li, linux-kernel

This patch aims to make the flush sequence for blk-mq work the same
as for the old request path, that is set a special request aside
for the sequenced flushes, which only gets submitted while the parent
request(s) are blocked.  It kinda reverts two earlier patches from me
and Shaohua which tried to hack around the issues we had before.

There's still a few difference from the legacy flush code, the first
one is that we have to submit blk-mq requests from user context and
need a workqueue for it.  For now the code for that is kept in the flush
code, but once blk-mq grows requeueing code as needed e.g. for a proper
SCSI conversion it might get time to life that to common code.  The
second one is that the old code has a way to defer flushes depending on
queue busy status (the flush_queue_delayed flag), but I have no idea
how to create something similar for blk-mq.

Last but not least it might make sense to allocate the special flush
request per hardware context and on the right node, but I'd like to
defer that until someone has actual high performance hardware that
requires flushes, before that the law of premature optimization applies.

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

end of thread, other threads:[~2014-03-17 11:55 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-30 13:26 [PATCH 0/1] block: rework flush sequencing for blk-mq Christoph Hellwig
2014-01-30 13:26 ` [PATCH 1/1] " Christoph Hellwig
2014-02-07  1:18   ` Shaohua Li
2014-02-07 14:19     ` Christoph Hellwig
2014-02-08  0:55       ` Shaohua Li
2014-02-10 10:33         ` Christoph Hellwig
2014-03-07 20:45   ` Jeff Moyer
2014-03-08 15:52     ` Christoph Hellwig
2014-03-08 17:33       ` Mike Snitzer
2014-03-08 19:51         ` Hannes Reinecke
2014-03-08 18:13           ` Mike Snitzer
2014-03-08 21:33             ` Hannes Reinecke
2014-03-08 22:09               ` [PATCH] block: fix q->flush_rq NULL pointer crash on dm-mpath flush Mike Snitzer
2014-03-09  0:24                 ` Jens Axboe
2014-03-09  0:57                   ` Mike Snitzer
2014-03-09  3:18                     ` Jens Axboe
2014-03-09  3:29                       ` Mike Snitzer
2014-03-12 10:28           ` [PATCH 1/1] block: rework flush sequencing for blk-mq Christoph Hellwig
2014-03-12 10:50             ` Hannes Reinecke
2014-03-12 10:55               ` Christoph Hellwig
2014-03-12 11:07                 ` Hannes Reinecke
2014-03-12 11:00               ` SuSE O_DIRECT|O_NONBLOCK overload Christoph Hellwig
2014-03-13  0:15                 ` NeilBrown
2014-03-14 17:46                   ` Mike Christie
2014-03-13 16:13             ` [PATCH 1/1] block: rework flush sequencing for blk-mq Mike Snitzer
2014-03-14  9:25               ` Christoph Hellwig
2014-03-14  9:30                 ` Hannes Reinecke
2014-03-14 12:44                   ` Christoph Hellwig
2014-03-14  9:34                 ` Christoph Hellwig
2014-03-14  9:52                   ` Hannes Reinecke
2014-03-14 10:58                     ` Christoph Hellwig
2014-03-14 11:10                       ` Hannes Reinecke
2014-03-14 13:00                 ` Mike Snitzer
2014-03-14 13:23                   ` Christoph Hellwig
2014-03-14 14:13                     ` Mike Snitzer
2014-03-15 13:28                       ` scsi_debug and mutipath, was " Christoph Hellwig
2014-03-17 11:55                       ` [dm-devel] " Bryn M. Reeves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).