On Thu, 23 Dec 2021 at 11:27, Ricky WU <ricky_wu@xxxxxxxxxxx> wrote: > > > -----Original Message----- > > From: Ulf Hansson <ulf.hansson@xxxxxxxxxx> > > Sent: Tuesday, December 21, 2021 8:51 PM > > To: Ricky WU <ricky_wu@xxxxxxxxxxx> > > Cc: tommyhebb@xxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx; > > linux-kernel@xxxxxxxxxxxxxxx > > Subject: Re: [PATCH v3] mmc: rtsx: improve performance for multi block rw > > > > On Tue, 21 Dec 2021 at 13:24, Ricky WU <ricky_wu@xxxxxxxxxxx> wrote: > > > > > > Improving performance for the CMD is multi-block read/write and the > > > data is sequential. > > > sd_check_multi_seq() to distinguish multi-block RW (CMD 18/25) or > > > normal RW (CMD 17/24) if the CMD is multi-block and the data is > > > sequential then call to sd_rw_multi_seq() > > > > > > This patch mainly to control the timing of reply at CMD 12/13. > > > Originally code driver reply CMD 12/13 at every RW (CMD 18/25). > > > The new code to distinguish multi-block RW(CMD 18/25) and the data is > > > sequential or not, if the data is sequential RW driver do not send CMD > > > 12 and bypass CMD 13 until wait the different direction RW CMD or > > > trigger the delay_work to sent CMD 12. > > > > > > run benchmark result as below: > > > SD Card : Samsumg Pro Plus 128GB > > > Number of Samples:100, Sample Size:10MB <Before> Read : 86.9 MB/s, > > > Write : 38.3 MB/s <After> Read : 91.5 MB/s, Write : 55.5 MB/s > > > > A much nicer commit message, thanks a lot! Would you mind running some > > additional tests, like random I/O read/writes? > > > > Also, please specify the benchmark tool and command you are using. In the > > meantime, I will continue to look at the code. > > > > The Tool just use Ubuntu internal GUI benchmark Tool in the "Disks" > and the Tool don't have random I/O to choice... > > Do you have any suggestion for testing random I/O > But we think random I/O will not change much I would probably look into using fio, https://fio.readthedocs.io/en/latest/ Another option that I use frequently is iozone, https://www.iozone.org. Here's a command line that I often use for iozone ./iozone -az -i0 -i1 -s 20m -y 16k -q 4m -I -f /mnt/sdcard/iozone.tmp -e [...] Kind regards Uffe