fix atomic limits check v2
alan.adamson at oracle.com
alan.adamson at oracle.com
Wed Jun 25 10:04:55 PDT 2025
On 6/24/25 11:39 PM, Christoph Hellwig wrote:
> Hi all,
>
> this series tries to fix the atomics limit check to limit it to
> the per-controller values and to the controller probing.
>
> I think this should solve the root cause of the report from Yi Zhang,
> but needs new verification.
>
> Changes since v1:
> - initialize subsys->awupf in nvme_init_subsystem to make sure that only
> happens once per controller
>
> Diffstat:
> core.c | 83 +++++++++++++++++++++++++++++------------------------------------
> nvme.h | 3 --
> 2 files changed, 39 insertions(+), 47 deletions(-)
CTRL 0 - AWUN=31 AWUPF=15 nvme0n1
CTRL 1 - AWUN=31 AWUPF=31
CTRL 2 - AWUN=15 AWUPF=7
CTRL 3 - AWUN=15 AWUPF=15
NS - NAWUN=31 NAWUPF=15 nvme0n2
NS - NAWUN=127 NAWUPF=63 nvme0n3
[root at localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
└─ol-root 252:0 0 39G 0 lvm /
sr0 11:0 1 1024M 0 rom
nvme0n1 259:2 0 250G 0 disk
nvme0n2 259:3 0 250G 0 disk
nvme0n3 259:5 0 250G 0 disk
[root at localhost ~]# nvme id-ctrl /dev/nvme0n1 | grep awupf
awupf : 15
[root at localhost ~]# cat /sys/block/nvme0n1/queue/atomic_write_max_bytes
8192
[root at localhost ~]# nvme id-ns /dev/nvme0n2 | grep nawupf
nawupf : 15
[root at localhost ~]# cat /sys/block/nvme0n2/queue/atomic_write_max_bytes
8192
[root at localhost ~]# nvme id-ns /dev/nvme0n3 | grep nawupf
nawupf : 63
[root at localhost ~]# cat /sys/block/nvme0n3/queue/atomic_write_max_bytes
32768
[root at localhost ~]# dmesg | grep nvme | grep AWUPF
[ 2.761599] nvme nvme2: inconsistent AWUPF, controller not added (7/15).
[ 2.765669] nvme nvme1: inconsistent AWUPF, controller not added (31/15).
[root at localhost ~]#
Why was CTRL1 (nvme1) not added? AWUPF of 31 works with a
atomic_write_max_bytes of 8192.
Alan
More information about the Linux-nvme
mailing list