For higher number of jobs(>=64), we are seeing ~8% regression with this patch.

Tool: fio with io_uring engine [1]
+------------+------------+-------------------+  
| numjobs    | before     | after patch       |  
+------------+------------+-------------------+  
| 1          | 89         | 88.8 (-0.22%)     |  
| 2          | 169        | 168 (-0.59%)      |  
| 4          | 338        | 337 (-0.30%)      |  
| 8          | 533        | 533 (0.00%)       |  
| 16         | 538        | 541 (+0.56%)      |  
| 32         | 685        | 716 (+4.53%)      |  
| 64         | 933        | 859 (-7.93%)      |  
| 128        | 941        | 867 (-7.86%)      |  
+------------+------------+-------------------+  
* Metric: IOPS (K) (Block device, QD = 1, bs = 4K, Random Read)  

As shown in the table above, while performance is comparable at low job
counts, there is a drop starting from 64 jobs after this patch.

HW info:
Intel(R) Core(TM) Ultra 7 265K
CPU=20
IRQ-CPU are 1:1 mapped.

[1] fio -filename=/dev/nvme0n1 -direct=1 -size=4g -rw=randread \
-numjobs=$(numjobs) -bs=4096 -ioengine=io_uring -iodepth=1 \
-name=uring_test --registerfiles=1 --ramp_time=5 \
--group_reporting --thread


Reply via email to