Re: [PATCH] md/raid5: add thread_group worker async_tx_issue_pending_all

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 24, 2017 at 09:17:40AM +0300, oferh@xxxxxxxxxxx wrote:
> From: Ofer Heifetz <oferh@xxxxxxxxxxx>
> 
> 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.

applied, thanks!
 
> Signed-off-by: Ofer Heifetz <oferh@xxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
>  drivers/md/raid5.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
> index aeeb8d6..3c0b924 100644
> --- a/drivers/md/raid5.c
> +++ b/drivers/md/raid5.c
> @@ -6237,6 +6237,8 @@ static void raid5_do_work(struct work_struct *work)
>  	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");
> -- 
> 1.9.1
> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]