Re: [PATCH 1/2] writeback: eliminate work item allocation in bd_start_writeback()

From: Jan Kara
Date: Wed Oct 04 2017 - 03:26:42 EST


On Tue 03-10-17 09:16:20, Jens Axboe wrote:
> Handle start-all writeback like we do periodic or kupdate
> style writeback - by marking the bdi_writeback as needing a full
> flush, and simply waking the thread. This eliminates the need to
> allocate and queue a specific work item just for this purpose.
>
> After this change, we truly only ever have one of them running at
> any point in time. We mark the need to start all flushes, and the
> writeback thread will clear it once it has processed the request.
>
> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>

Just one nit below. You can add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

> diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
> index 420de5c7c7f9..f0f1df29d6b8 100644
> --- a/include/linux/backing-dev-defs.h
> +++ b/include/linux/backing-dev-defs.h
> @@ -116,6 +116,7 @@ struct bdi_writeback {
>
> struct fprop_local_percpu completions;
> int dirty_exceeded;
> + int start_all_reason;

This should be 'enum wb_reason' instead of 'int'.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR