On Wed, Feb 26, 2025 at 01:33:58AM +0000, Pavel Begunkov wrote: > There are reports of high io_uring submission latency for ext4 and xfs, > which is due to iomap not propagating nowait flag to the block layer > resulting in waiting for IO during tag allocation. > > Cc: stable@xxxxxxxxxxxxxxx > Link: https://github.com/axboe/liburing/issues/826#issuecomment-2674131870 > Reported-by: wu lei <uwydoc@xxxxxxxxx> > Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx> > --- > fs/iomap/direct-io.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c > index b521eb15759e..25c5e87dbd94 100644 > --- a/fs/iomap/direct-io.c > +++ b/fs/iomap/direct-io.c > @@ -81,6 +81,9 @@ static void iomap_dio_submit_bio(const struct iomap_iter *iter, > WRITE_ONCE(iocb->private, bio); > } > > + if (iocb->ki_flags & IOCB_NOWAIT) > + bio->bi_opf |= REQ_NOWAIT; Shouldn't this go in iomap_dio_bio_opflags? --D > + > if (dio->dops && dio->dops->submit_io) > dio->dops->submit_io(iter, bio, pos); > else > -- > 2.48.1 >