On 7/18/22 8:16 PM, Yin Fengwei wrote: > Hi Jens, > > On 7/19/2022 12:27 AM, Jens Axboe wrote: >> On 7/17/22 9:30 PM, Yin Fengwei wrote: >>> Hi Jens, >>> >>> On 7/15/2022 11:58 PM, Jens Axboe wrote: >>>> In terms of making this more obvious, does the below also fix it for >>>> you? >>> >>> The regression is still there after applied the change you posted. >> >> Still don't see the regression here, using ext4. I get about 1020-1045 >> IOPS with or without the patch you sent. >> >> This is running it in a vm, and the storage device is nvme. What is >> hosting your ext4 fs? > Just did more test with vm. The regression can't be reproduced with latest > code (I tried the tag v5.19-rc7) whatever the underneath storage is SATA > or NVME. > > But the regression and the debugging patch from me could be reproduced > on both SATA and NVME if use commit 584b0180f0f4d6 as base commit > (584b0180f0f4d6 vs 584b0180f0f4d6 with my debugging patch). > > > Here is the test result I got: > NVME as host storage: > 5.19.0-rc7: > write: IOPS=933, BW=937MiB/s (982MB/s)(18.3GiB/20020msec); 0 zone resets > write: IOPS=993, BW=996MiB/s (1045MB/s)(19.5GiB/20020msec); 0 zone resets > write: IOPS=1005, BW=1009MiB/s (1058MB/s)(19.7GiB/20020msec); 0 zone resets > write: IOPS=985, BW=989MiB/s (1037MB/s)(19.3GiB/20020msec); 0 zone resets > write: IOPS=1020, BW=1024MiB/s (1073MB/s)(20.0GiB/20020msec); 0 zone resets > > 5.19.0-rc7 with my debugging patch: > write: IOPS=988, BW=992MiB/s (1040MB/s)(19.7GiB/20384msec); 0 zone resets > write: IOPS=995, BW=998MiB/s (1047MB/s)(20.1GiB/20574msec); 0 zone resets > write: IOPS=996, BW=1000MiB/s (1048MB/s)(19.5GiB/20020msec); 0 zone resets > write: IOPS=995, BW=998MiB/s (1047MB/s)(19.5GiB/20020msec); 0 zone resets > write: IOPS=1006, BW=1009MiB/s (1058MB/s)(19.7GiB/20019msec); 0 zone resets These two basically look identical, which may be why I get the same with and without your patch. I don't think it makes a difference for this. Curious how it came about? > 584b0180f0: > write: IOPS=1004, BW=1008MiB/s (1057MB/s)(19.7GiB/20020msec); 0 zone resets > write: IOPS=968, BW=971MiB/s (1018MB/s)(19.4GiB/20468msec); 0 zone resets > write: IOPS=982, BW=986MiB/s (1033MB/s)(19.3GiB/20020msec); 0 zone resets > write: IOPS=1000, BW=1004MiB/s (1053MB/s)(20.1GiB/20461msec); 0 zone resets > write: IOPS=903, BW=906MiB/s (950MB/s)(18.1GiB/20419msec); 0 zone resets > > 584b0180f0 with my debugging the patch: > write: IOPS=1073, BW=1076MiB/s (1129MB/s)(21.1GiB/20036msec); 0 zone resets > write: IOPS=1131, BW=1135MiB/s (1190MB/s)(22.2GiB/20022msec); 0 zone resets > write: IOPS=1122, BW=1126MiB/s (1180MB/s)(22.1GiB/20071msec); 0 zone resets > write: IOPS=1071, BW=1075MiB/s (1127MB/s)(21.1GiB/20071msec); 0 zone resets > write: IOPS=1049, BW=1053MiB/s (1104MB/s)(21.1GiB/20482msec); 0 zone resets Last one looks like it may be faster indeed. I do wonder if this is something else, though. There's no reason why -rc7 with that same patch applied should be any different than 584b0180f0 with it. these resu > > > SATA disk as host storage: > 5.19.0-rc7: > write: IOPS=624, BW=627MiB/s (658MB/s)(12.3GiB/20023msec); 0 zone resets > write: IOPS=655, BW=658MiB/s (690MB/s)(12.9GiB/20021msec); 0 zone resets > write: IOPS=596, BW=600MiB/s (629MB/s)(12.1GiB/20586msec); 0 zone resets > write: IOPS=647, BW=650MiB/s (682MB/s)(12.7GiB/20020msec); 0 zone resets > write: IOPS=591, BW=594MiB/s (623MB/s)(12.1GiB/20787msec); 0 zone resets > > 5.19.0-rc7 with my debugging patch: > write: IOPS=633, BW=637MiB/s (668MB/s)(12.6GiB/20201msec); 0 zone resets > write: IOPS=614, BW=617MiB/s (647MB/s)(13.1GiB/21667msec); 0 zone resets > write: IOPS=653, BW=657MiB/s (689MB/s)(12.8GiB/20020msec); 0 zone resets > write: IOPS=618, BW=622MiB/s (652MB/s)(12.2GiB/20033msec); 0 zone resets > write: IOPS=604, BW=608MiB/s (638MB/s)(12.1GiB/20314msec); 0 zone resets These again are probably the same, within variance. > 584b0180f0: > write: IOPS=635, BW=638MiB/s (669MB/s)(12.5GiB/20020msec); 0 zone resets > write: IOPS=649, BW=652MiB/s (684MB/s)(12.8GiB/20066msec); 0 zone resets > write: IOPS=639, BW=642MiB/s (674MB/s)(13.1GiB/20818msec); 0 zone resets > > 584b0180f0 with my debugging patch: > write: IOPS=850, BW=853MiB/s (895MB/s)(17.1GiB/20474msec); 0 zone resets > write: IOPS=738, BW=742MiB/s (778MB/s)(15.1GiB/20787msec); 0 zone resets > write: IOPS=751, BW=755MiB/s (792MB/s)(15.1GiB/20432msec); 0 zone resets But this one looks like a clear difference. I'll poke at this tomorrow. -- Jens Axboe