fix atomic limits check

alan.adamson at oracle.com alan.adamson at oracle.com
Wed Jun 18 11:30:20 PDT 2025


On 6/18/25 10:17 AM, Christoph Hellwig wrote:
> On Wed, Jun 18, 2025 at 09:07:42AM -0700, alan.adamson at oracle.com wrote:
>>>> AWUPF of 7 isn't consistent with an atomic_write_max_bytes of 8192.
>>> It is consistent with an (N)AWUPF=15, and it is namespace number 3.  Are
>>> you testing controller 3 above or is the namespace shared between
>>> controller 0 and controller 3?
>> CTRL 2 (nvme0n3) has AWUPF=7 which means it supports a max atomic write
>> size of 4096b, but /sys/block/nvme0n3/queue/atomic_write_max_bytes is
>> 8192b.
> Can you double check this really is your CTLR2?  At least for me
> the async probing reorders nvme devices quite a lot with qemu.
>
CTRL 0 (nvme0) - AWUN=31 AWUPF=15       nvme1n2
CTRL 1 (nvme1) - AWUN=31 AWUPF=31       nvme1n1
CTRL 2 (nvme2) - AWUN=15 AWUPF=7         nvme1n3
CTRL 3 (nvme3) - AWUN=15 AWUPF=15
     NS - NAWUN=31 NAWUPF=15     nvme1n5
     NS - NAWUN=127 NAWUPF=63    nvme1n4


I rebooted and it probed differently.  Now CTRL2 is nvme1n3.  We know 
CTRL2 is the same as nvme1n3 because awun and awupf from nvme id-ctrl 
matches the qemu config (atomic.awun=15,atomic.awupf=7) for CTRL2 (nvme2).

# nvme id-ctrl /dev/nvme1n3 | grep awun
awun      : 15
# nvme id-ctrl /dev/nvme1n3 | grep awupf
awupf     : 7
# cat /sys/block/nvme1n3/queue/atomic_write_max_bytes
8192





More information about the Linux-nvme mailing list