Skip to content

raid5: stripe_queue (+20% to +90% write performance)

Dan Williams linux-raid 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4raid5: add the stripe_queue object for tracking raid io requests (rev3)drivers/md/raid5.c include/linux/raid/raid5.h+364 -2280 replies
2/4raid5: split allocation of stripe_heads and stripe_queuesdrivers/md/raid5.c include/linux/raid/raid5.h+239 -880 replies
3/4raid5: convert add_stripe_bio to add_queue_biodrivers/md/raid5.c include/linux/raid/raid5.h+40 -190 replies
4/4raid5: use stripe_queues to prioritize the "most deserving" requests (rev7)drivers/md/raid5.c include/linux/raid/raid5.h+666 -2220 replies

Reviews trailers per patch

None of the 4 patches has a Reviewed-by or Acked-by.

PatchMr. James W. Laferriere
1/4T-b
2/4T-b
3/4T-b
4/4T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH -mm 0/4] raid5: stripe_queue (+20% to +90% write performance)

Neil,

Here is the latest spin of the 'stripe_queue' implementation. Thanks to raid6+bitmap testing done by Mr. James W. Laferriere there have been several cleanups and fixes since the last release. Also, the changes are now spread over 4 patches to isolate one conceptual change per patch. The most significant cleanup is removing the stripe_head back pointer from stripe_queue. This effectively makes the queuing layer independent from the caching layer.

Expansion support needs more testing.

See the individual patch changelogs for details. Patch 1 contains updated performance numbers.

Andrew,

These are updated in the git-md-accel tree, but I will work the finalized versions through Neil's 'Signed-off-by' path.

Dan Williams (4):
raid5: add the stripe_queue object for tracking raid io requests (rev3)
raid5: split allocation of stripe_heads and stripe_queues
raid5: convert add_stripe_bio to add_queue_bio
raid5: use stripe_queues to prioritize the "most deserving" requests (rev7)

 drivers/md/raid5.c         | 1560 ++++++++++++++++++++++++++++++++------------
 include/linux/raid/raid5.h |   88 ++-
 2 files changed, 1200 insertions(+), 448 deletions(-)

--
Dan