public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Avri Altman <Avri.Altman@wdc.com>
To: Bart Van Assche <bvanassche@acm.org>,
	"Martin K . Petersen" <martin.petersen@oracle.com>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Bean Huo <beanhuo@micron.com>,
	Stanley Chu <stanley.chu@mediatek.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>
Subject: RE: [PATCH v2] scsi: ufs: Increase the maximum data buffer size
Date: Tue, 26 Jul 2022 12:54:02 +0000	[thread overview]
Message-ID: <DM6PR04MB6575FF4ED352199899172E23FC949@DM6PR04MB6575.namprd04.prod.outlook.com> (raw)
In-Reply-To: <20220725173528.849643-1-bvanassche@acm.org>

Bart hi,

> Measurements have shown that for some UFS devices the maximum sequential
> I/O throughput is achieved with a transfer size above 512 KiB. Hence
> increase the maximum size of the data buffer associated with a single
> request from SCSI_DEFAULT_MAX_SECTORS (1024) * 512 bytes = 512 KiB into
> 255 MiB.
> 
> Notes:
> - The maximum data buffer size supported by the UFSHCI specification
>   is 65535 * 256 KiB or about 16 GiB.
> - The maximum data buffer size for READ(10) commands is 65535 logical
>   blocks. To transfer more than 65535 * 4096 bytes = 255 MiB with a
>   single SCSI command, the READ(16) command is required. Support for
>   READ(16) is optional in the UFS 3.1 and UFS 4.0 standards.
I still have concerns of a negative impact of a too-large-max-sectors.

I replicate your fio measurements using galaxy S22 - one of the most advanced production platform currently in the market.
See the results below: fio bs vs max-sectors.  data is the read BW[MiB/s].
Given that:
a) there isn't that much of a difference among the various max-sectors
b) max-sectors is configurable via max_sectors_kb sysfs entry, and
c) going from the benchmark world into the real world, a large write (255MiB),
    interleaved by many small reads (4k), may cause high latency, up to even a timeout (!?)

I would leave the max-sectors threshold as it is, or use the moderate 1MB limit.
Unless you can back the  "Measurements have shown" statement with a more concrete data.

Thanks,
Avri


	|	1MB		|	2MB		|	128MB		|	255MB
--------------------------------------------------------------------------------------------------------------------
4KiB	|	14.7		|	13.3		|	15.7		|	19.5
8KiB	|	26.7		|	27.4		|	25.8		|	30.0
16KiB	|	44		|	53.2		|	46.3		|	61.2
64KiB	|	179		|	207		|	171		|	184
32KiB	|	100		|	120		|	105		|	119
128KiB	|	275		|	322		|	271		|	256
256KiB	|	440		|	452		|	417		|	378
512KiB	|	535		|	525		|	483		|	471
1MiB	|	592		|	584		|	531		|	408
2MiB	|	349		|	361		|	375		|	297
4MiB	|	502		|	492		|	515		|	441
8MiB	|	645		|	663		|	682		|	650
16MiB	|	752		|	749		|	752		|	762
32MiB	|	817		|	790		|	822		|	791
64MiB	|	1710		|	1703		|	1700		|	1692
128MiB	|	1733		|	1730		|	1724		|	1712
256MiB	|	1752		|	1748		|	1738		|	1732

  reply	other threads:[~2022-07-26 12:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-25 17:35 [PATCH v2] scsi: ufs: Increase the maximum data buffer size Bart Van Assche
2022-07-26 12:54 ` Avri Altman [this message]
2022-07-26 22:37   ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM6PR04MB6575FF4ED352199899172E23FC949@DM6PR04MB6575.namprd04.prod.outlook.com \
    --to=avri.altman@wdc.com \
    --cc=adrian.hunter@intel.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=jaegeuk@kernel.org \
    --cc=jejb@linux.ibm.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=matthias.bgg@gmail.com \
    --cc=stanley.chu@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox