All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] md: use bio_clone_fast()
@ 2017-02-05  6:22 Ming Lei
  2017-02-05  6:22 ` [PATCH 1/4] block: introduce bio_clone_bioset_partial() Ming Lei
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Ming Lei @ 2017-02-05  6:22 UTC (permalink / raw)
  To: Shaohua Li, Jens Axboe, linux-kernel, linux-raid, linux-block,
	Christoph Hellwig, NeilBrown
  Cc: Ming Lei

Hi,

This patches replaces bio_clone() with bio_fast_clone() in
bio_clone_mddev() because:

1) bio_clone_mddev() is used in raid normal I/O and isn't in
resync I/O path, and all the direct access to bvec table in
raid happens on resync I/O only except for write behind of raid1.
Write behind is treated specially, so the replacement is safe.

2) for write behind, bio_clone() is kept, but this patchset
introduces bio_clone_bioset_partial() to just clone one specific 
bvecs range instead of whole table. Then write behind is improved
too.


Thanks,
Ming

Ming Lei (4):
  block: introduce bio_clone_bioset_partial()
  md: introduce bio_clone_slow_mddev_partial()
  md/raid1: use bio_clone_slow_mddev_partial in case of write behind
  md: fast clone bio in bio_clone_mddev()

 block/bio.c         | 61 +++++++++++++++++++++++++++++++++++++++++------------
 drivers/md/md.c     | 24 +++++++++++++++++++--
 drivers/md/md.h     |  3 +++
 drivers/md/raid1.c  | 21 +++++++++++++-----
 include/linux/bio.h | 11 ++++++++--
 5 files changed, 98 insertions(+), 22 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2017-02-06 14:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-05  6:22 [PATCH 0/4] md: use bio_clone_fast() Ming Lei
2017-02-05  6:22 ` [PATCH 1/4] block: introduce bio_clone_bioset_partial() Ming Lei
2017-02-05  6:22 ` [PATCH 2/4] md: introduce bio_clone_slow_mddev_partial() Ming Lei
2017-02-06  8:52   ` Christoph Hellwig
2017-02-05  6:22 ` [PATCH 3/4] md/raid1: use bio_clone_slow_mddev_partial in case of write behind Ming Lei
2017-02-05  6:22 ` [PATCH 4/4] md: fast clone bio in bio_clone_mddev() Ming Lei
2017-02-06  8:54   ` Christoph Hellwig
2017-02-06 10:43     ` Ming Lei
2017-02-06 10:43       ` Ming Lei
2017-02-06 14:24       ` Christoph Hellwig
2017-02-06 14:24         ` Christoph Hellwig

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.