Skip to contentSkip to conversation

Patch "md/raid5: add thread_group worker async_tx_issue_pending_all" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Aug 1, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

md/raid5: add thread_group worker async_tx_issue_pending_all

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
md-raid5-add-thread_group-worker-async_tx_issue_pending_all.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 7e96d559634b73a8158ee99a7abece2eacec2668 Mon Sep 17 00:00:00 2001

From: Ofer Heifetz <[email protected]>
Date: Mon, 24 Jul 2017 09:17:40 +0300
Subject: md/raid5: add thread_group worker async_tx_issue_pending_all

From: Ofer Heifetz <[email protected]>

commit 7e96d559634b73a8158ee99a7abece2eacec2668 upstream.

Since thread_group worker and raid5d kthread are not in sync, if worker writes stripe before raid5d then requests will be waiting for issue_pendig.

Issue observed when building raid5 with ext4, in some build runs jbd2 would get hung and requests were waiting in the HW engine waiting to be issued.

Fix this by adding a call to async_tx_issue_pending_all in the raid5_do_work.

---
 drivers/md/raid5.c |    2 ++
 1 file changed, 2 insertions(+)
drivers/md/raid5.c +2 -0
@@ -5843,6 +5843,8 @@ static void raid5_do_work(struct work_st
 	pr_debug("%d stripes handled\n", handled);
 
 	spin_unlock_irq(&conf->device_lock);
+
+	async_tx_issue_pending_all();
 	blk_finish_plug(&plug);
 
 	pr_debug("--- raid5worker inactive\n");

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/md-raid5-add-thread_group-worker-async_tx_issue_pending_all.patch