Messages in this thread Patch in this message |  | | Date | Tue, 12 Jul 2022 16:06:54 +0800 | Subject | Re: [LKP] Re: [io_uring] 584b0180f0: phoronix-test-suite.fio.SequentialWrite.IO_uring.Yes.Yes.1MB.DefaultTestDirectory.mb_s -10.2% regression | From | Yin Fengwei <> |
| |
Hi Jens,
On 5/27/2022 9:50 PM, Jens Axboe wrote: > I'm a bit skeptical on this, but I'd like to try and run the test case. > Since it's just a fio test case, why can't I find it somewhere? Seems > very convoluted to have to setup lkp-tests just for this. Besides, I > tried, but it doesn't work on aarch64... Recheck this regression report. The regression could be reproduced if the following config file is used with fio (tag: fio-3.25) :
[global] rw=write ioengine=io_uring iodepth=64 size=1g direct=1 buffered=1 startdelay=5 force_async=4 ramp_time=5 runtime=20 time_based clat_percentiles=0 disable_lat=1 disable_clat=1 disable_slat=1 filename=test_fiofile [test] name=test bs=1M stonewall
Just FYI, a small change to commit: 584b0180f0f4d67d7145950fe68c625f06c88b10:
diff --git a/fs/io_uring.c b/fs/io_uring.c index 969f65de9972..616d857f8fc6 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -3181,8 +3181,13 @@ static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe) { struct kiocb *kiocb = &req->rw.kiocb; unsigned ioprio; + struct file *file = req->file; int ret;
+ if (likely(file && (file->f_mode & FMODE_WRITE))) + if (!io_req_ffs_set(req)) + req->flags |= io_file_get_flags(file) << REQ_F_SUPPORT_NOWAIT_BIT; + kiocb->ki_pos = READ_ONCE(sqe->off);
ioprio = READ_ONCE(sqe->ioprio); could make regression gone. No idea how req->flags impact the write performance. Thanks.
Regards Yin, Fengwei
|  |