summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2022-06-16 13:19:40 -0600
committerJens Axboe <axboe@kernel.dk>2022-08-02 17:14:42 -0600
commit3312e6c887fe7539f0adb5756ab9020282aaa3d4 (patch)
tree8a7b3296ab7a480c0747fe61e14bd7599c9a5a4c /include/linux
parent0a2d1694de6095dadbc99a6eb803ebab381de09e (diff)
md/raid5: Keep a reference to last stripe_head for batch
When batching, every stripe head has to find the previous stripe head to add to the batch list. This involves taking the hash lock which is highly contended during IO. Instead of finding the previous stripe_head each time, store a reference to the previous stripe_head in a pointer so that it doesn't require taking the contended lock another time. The reference to the previous stripe must be released before scheduling and waiting for work to get done. Otherwise, it can hold up raid5_activate_delayed() and deadlock. Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Acked-by: Guoqing Jiang <guoqing.jiang@linux.dev> Signed-off-by: Song Liu <song@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions