Re: [PATCH v2 19/20] scsi: ufs: Implement polling support

Bean Huo
2021-11-30T15:40:40Z

On Tue, 2021-11-30 at 06:26 -0800, Bart Van Assche wrote:
> On 11/30/21 12:43 AM, Bean Huo wrote:
> > On Fri, 2021-11-19 at 11:57 -0800, Bart Van Assche wrote:
> > > On my test setup this patch increases IOPS from 2736 to 22000
> > > (8x)
> > > for the
> > > following test:
> > >
> > > for hipri in 0 1; do
> > > fio --ioengine=io_uring --iodepth=1 --rw=randread \
> > > --runtime=60 --time_based=1 --direct=1 --name=qd1 \
> > > --filename=/dev/block/sda --ioscheduler=none --gtod_reduce=1
> > > \
> > > --norandommap --hipri=$hipri
> > > done
> >
> > For 4KB random read, direct IO, and iodepth=1, we did not see an
> > improvement in IOPS due to this patch. Maybe the test case above is
> > not
> > sufficient.
>
> Hi Bean,
>
> Which test has been run? Polling is only enabled if --hipri=1 is
> specified
> to fio and --ioengine=io_uring is the only I/O engine on Android that
> supports
> that flag.
>
> Thanks,
>
> Bart.

Hi Bart,

It is the test case in your commit message. If iodepth=1, there is no
performance improvement. Increase the io-depth to multiple, for
example, let iodepth= CPU core counter. I see that the interrupt
overhead is significantly increased when the request is completed, so
IO_polling will win compared to the interrupt mode.

Kind regards,
Bean