[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z8W3-Jni2k_MqmZs@infradead.org>
Date: Mon, 3 Mar 2025 06:08:56 -0800
From: Christoph Hellwig <hch@...radead.org>
To: Jinliang Zheng <alexjlzheng@...il.com>
Cc: cem@...nel.org, djwong@...nel.org, dchinner@...hat.com,
alexjlzheng@...cent.com, linux-xfs@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] xfs: don't allow log recover IO to be throttled
On Mon, Mar 03, 2025 at 07:23:01PM +0800, Jinliang Zheng wrote:
> When recovering a large filesystem, avoid log recover IO being
> throttled by rq_qos_throttle().
Why? Do you have numbers or a bug report?
> diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c
> index fe21c76f75b8..259955f2aeb2 100644
> --- a/fs/xfs/xfs_bio_io.c
> +++ b/fs/xfs/xfs_bio_io.c
> @@ -22,12 +22,15 @@ xfs_rw_bdev(
> unsigned int left = count;
> int error;
> struct bio *bio;
> + blk_opf_t opf = op | REQ_META | REQ_SYNC;
>
> if (is_vmalloc && op == REQ_OP_WRITE)
> flush_kernel_vmap_range(data, count);
>
> - bio = bio_alloc(bdev, bio_max_vecs(left), op | REQ_META | REQ_SYNC,
> - GFP_KERNEL);
> + if (op == REQ_OP_WRITE)
> + opf |= REQ_IDLE;
And there's really no need to do any games with the op here. Do it in
the caller and document why it's done there.
Powered by blists - more mailing lists