From: Keith Busch <kbusch@kernel.org>
To: Nilay Shroff <nilay@linux.ibm.com>
Cc: Christoph Hellwig <hch@lst.de>,
Alan Adamson <alan.adamson@oracle.com>,
John Garry <john.g.garry@oracle.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Jens Axboe <axboe@kernel.dk>,
linux-nvme@lists.infradead.org, linux-block@vger.kernel.org
Subject: Re: What should we do about the nvme atomics mess?
Date: Wed, 9 Jul 2025 15:28:34 -0600 [thread overview]
Message-ID: <aG7fArgdSWIjXcp9@kbusch-mbp> (raw)
In-Reply-To: <ee663f87-0dbd-4685-a462-27da217dd259@linux.ibm.com>
On Wed, Jul 09, 2025 at 01:21:17PM +0530, Nilay Shroff wrote:
> I believe there are multi-controller NVMe disks in the field (including the
> one I have) that do not exhibit such inconsistencies, i.e., they report a
> consistent AWUPF value across controllers and do not change it based on
> namespace format. The NVMe specification states this (quoting it from
> NVM-Command-Set-Specification-1.0e):
>
> "The values (referencing AWUPF / AWUN) reported in the Identify Controller
> data structure are valid across all namespaces with any supported namespace
> format, forming a baseline value that is guaranteed not to change."
I don't think that's a backward compatible requirement. Controllers
often rescale these after a format command, and it was the only way for
1.0 and 1.1 controllers to report atomic sizes.
Lets say the controller can do 128k byte atomic writes, If all
namespaces used 512b LBA format, then AWUPF would be 255. If you change
one namespace format to 4k, AWUPF scales down to 31, yielding a
sub-optimal result for all the other namespaces.
> While the spec doesn´t explicitly require that AWUPF be consistent across
> controllers within the same subsystem, it seems to be implied. That said,
> I agree this should have been stated explicitly in the specification.
Considering multi-controller subsystems, some controllers might have
namespaces with only 512b formats attached, and other controllers might
have some 4k mixed in, so then they can't all consistently report the
desired AWUPF value. They'd have to just scale AWUPF based on the
largest sector size supported. Which I guess is what the current wording
is guiding toward, but that just suggests host drivers disregard the
value and use NAWUPF instead. So still option III.
next prev parent reply other threads:[~2025-07-09 22:57 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-07 14:18 What should we do about the nvme atomics mess? Christoph Hellwig
2025-07-07 14:24 ` Keith Busch
2025-07-07 15:26 ` Hannes Reinecke
2025-07-07 15:56 ` Keith Busch
2025-07-07 23:35 ` Chaitanya Kulkarni
2025-07-08 9:47 ` Christoph Hellwig
2025-07-08 15:19 ` Keith Busch
2025-07-08 1:27 ` Ming Lei
2025-07-08 2:27 ` Keith Busch
2025-07-08 2:46 ` Ming Lei
2025-07-08 2:56 ` Keith Busch
2025-07-08 3:17 ` Ming Lei
2025-07-08 9:38 ` Niklas Cassel
2025-07-08 9:48 ` Christoph Hellwig
2025-07-08 10:08 ` John Garry
2025-07-09 7:51 ` Nilay Shroff
2025-07-09 21:28 ` Keith Busch [this message]
2025-07-10 5:07 ` Nilay Shroff
2025-07-10 7:17 ` Christoph Hellwig
2025-10-20 13:42 ` John Garry
2025-10-21 15:02 ` Nilay Shroff
2025-10-22 8:50 ` John Garry
2025-10-22 15:24 ` Nilay Shroff
2025-12-08 12:11 ` Nilay Shroff
2025-12-09 8:26 ` John Garry
2026-01-22 10:06 ` Nilay Shroff
2026-01-22 10:16 ` John Garry
2026-01-26 12:56 ` Christoph Hellwig
2026-01-26 12:58 ` John Garry
2026-01-26 13:01 ` Martin K. Petersen
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=aG7fArgdSWIjXcp9@kbusch-mbp \
--to=kbusch@kernel.org \
--cc=alan.adamson@oracle.com \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=john.g.garry@oracle.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=martin.petersen@oracle.com \
--cc=nilay@linux.ibm.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