Reposting.
Alan
On 5/1/25 11:45 AM, Alan Adamson wrote:
If there are multiple controllers in a subsystem, CMIC.MCTRS should be set to on
for all controllers. For single controller subsystems, CMIC.MCTRS will be off by
default. A new subsystem specific parameter will allow setting CMIC.MCTRS
Parameter (See NVMe Specification for details):
,cmic-mctrs=BOOLEAN (default: off)
Signed-off-by: Alan Adamson
---
hw/nvme/ctrl.c | 15 ++-
hw/nvme/nvme.h | 2 ++
hw/nvme/subsys.c | 1 +
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme
systems.
,cmic-mctrs=BOOLEAN (default: off)
Example:
-device nvme-subsys,id=subsys0,cmic-mctrs=on \
-device
nvme,serial=deadbeef,id=nvme0,subsys=subsys0,atomic.dn=off,atomic.awun=31,atomic.awupf=15
\
-drive id=ns1,file=/dev/nullb0,if=none \
-device nvme-ns,drive=ns1,bus=nvm
v2: - Change the parameter name from "cmic" to "cmic-mctrs".
- If there is more than 1 controller in a subsystem, set CMIC.MCTRS
for each controller whether or not the cmic-mctrs parameter is set.
While testing Linux atomic writes with qemu-nvme v10.0.0-rc1, Linux was
incorrectly displa
Parameter (See NVMe Specification for details):
,cmic-mctrs=BOOLEAN (default: off)
Signed-off-by: Alan Adamson
---
hw/nvme/ctrl.c | 15 ++-
hw/nvme/nvme.h | 2 ++
hw/nvme/subsys.c | 1 +
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme
On 4/8/25 11:47 PM, Klaus Jensen wrote:
On Apr 8 15:56, Alan Adamson wrote:
While testing Linux atomic writes with qemu-nvme v10.0.0-rc1, Linux was
incorrectly displaying atomic_write_max_bytes
# cat /sys/block/nvme0n1/queue/atomic_write_max_bytes
0
# nvme id-ctrl /dev/nvme0n1 | grep awupf
Allow the value of CMIC to to be set via a new subsystem specific parameter.
This removes the requirement that all subsystems must have the CMIC bit enabled.
New NVMe Subsystem QEMU Parameter (See NVMe Specification for details):
,cmic=BOOLEAN (default: off)
Signed-off-by: Alan Adamson
le:
-device nvme-subsys,id=subsys0,cmic=on \
-device
nvme,serial=deadbeef,id=nvme0,subsys=subsys0,atomic.dn=off,atomic.awun=31,atomic.awupf=15
\
-drive id=ns1,file=/dev/nullb3,if=none \
-device nvme-ns,drive=ns1,bus=nvme0,nsid=1,shared=false
Alan Adamson (1):
hw/nvme: create
Tested-by: Alan Adamson
Reviewed-by: Alan Adamson
llers.
I'm sending out diffs that resolve the problem but would like to get
some feedback before sending a formal patch.
See below.
Thanks,
Alan Adamson
[root@localhost qemu-subsys]# git describe
v10.0.0-rc2
[root@localhost qemu-subsys]#
QEMU NVMe Config
-device n
.
Signed-off-by: Alan Adamson
Reviewed-by: Klaus Jensen
---
hw/nvme/ctrl.c | 157 -
hw/nvme/nvme.h | 11
2 files changed, 167 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 9e94a2405407..c8346709a20d 100644
--- a
536
(requested block: offset=347799552, length=65536, flags=88)
Expected CRC: d54d5f50d2569c94
Received CRC: 691e1aed4669ba33
Future Work
---
- Namespace support (NAWUN, NAWUPF and NACWU)
- Namespace Boundary support (NABSN, NABO, and NABSPF)
- Atomic Compare and Write Unit
On 9/24/24 5:15 AM, Klaus Jensen wrote:
On Sep 19 17:07, Alan Adamson wrote:
Adds support for the controller atomic parameters: AWUN and AWUPF. Atomic
Compare and Write Unit (ACWU) is not currently supported.
Writes that adhere to the ACWU and AWUPF parameters are guaranteed to be atomic
.
Signed-off-by: Alan Adamson
Reviewed-by: Klaus Jensen
---
hw/nvme/ctrl.c | 164 -
hw/nvme/nvme.h | 12
2 files changed, 175 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 9e94a2405407..0af46c57ee86 100644
--- a
- Atomic Compare and Write Unit (ACWU)
Alan Adamson (1):
hw/nvme: add atomic write support
hw/nvme/ctrl.c | 164 -
hw/nvme/nvme.h | 12
2 files changed, 175 insertions(+), 1 deletion(-)
--
2.43.5
On 9/17/24 9:21 AM, alan.adam...@oracle.com wrote:
On 9/17/24 12:59 AM, Klaus Jensen wrote:
On Aug 20 09:11, Alan Adamson wrote:
Since there is work in the Linux NVMe Driver community to add Atomic
Write
support, it would be desirable to be able to test it with qemu nvme
emulation.
This
On 9/17/24 12:59 AM, Klaus Jensen wrote:
On Aug 20 09:11, Alan Adamson wrote:
Since there is work in the Linux NVMe Driver community to add Atomic Write
support, it would be desirable to be able to test it with qemu nvme emulation.
This patch will focus on supporting NVMe controller atomic
ite support, this error no longer happens.
Future Work
---
- Namespace support (NAWUN, NAWUPF and NACWU)
- Namespace Boundary support (NABSN, NABO, and NABSPF)
- Atomic Compare and Write Unit (ACWU)
Alan Adamson (1):
hw/nvme: add atomic write support
hw/nvme/c
.
Signed-off-by: Alan Adamson
---
hw/nvme/ctrl.c | 161 +
hw/nvme/nvme.h | 12
2 files changed, 173 insertions(+)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index c6d4f61a47f9..ac0efa95588d 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
=UINT16 (default: 0)
Signed-off-by: Alan Adamson
---
hw/nvme/ctrl.c | 147 -
hw/nvme/nvme.h | 17 ++
2 files changed, 163 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 127c3d238346..5d19965122d0 100644
--- a/hw
as the max atomic write size.
Future Work
---
- Namespace support (NAWUN, NAWUPF and NACWU)
- Namespace Boundary support (NABSN, NABO, and NABSPF)
- Atomic Compare and Write Unit (ACWU)
Alan Adamson (1):
nvme: add atomic write support
hw
21 matches
Mail list logo