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.