qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Questions about CXL RAS injection test in qemu


From: Yuquan Wang
Subject: Questions about CXL RAS injection test in qemu
Date: Wed, 6 Mar 2024 19:27:07 +0800

Hello, Jonathan

Recently I met some problems on CXL RAS tests. 

I tried to use "cxl-inject-uncorrectable-errors" and 
"cxl-inject-correctable-error"
qmp to inject CXL errors, however, there was no any kernel printing information 
in 
my qemu machine. And the qmp connection was unstable that made the machine 
always "terminating on signal 2".

In addition, I successfully used the hmp "pcie_aer_inject_error" in the same 
conditions.
The kernel showed relevant print information.

Question:
1) Is my CXL RAS test operations standard?
2) The error injected by "pcie_aer_inject_error" is "protocol & link errors" of 
cxl.io?
   The error injected by "cxl-inject-uncorrectable-errors" or 
"cxl-inject-correctable-error" is "protocol & link errors" of cxl.cachemem?

Hope I can get some helps here, any help will be greatly appreciated.


My qemu command line:
qemu-system-x86_64 \
-M q35,nvdimm=on,cxl=on \
-m 4G \
-smp 4 \
-object memory-backend-ram,size=2G,id=mem0 \
-numa node,nodeid=0,cpus=0-1,memdev=mem0 \
-object memory-backend-ram,size=2G,id=mem1 \
-numa node,nodeid=1,cpus=2-3,memdev=mem1 \
-object memory-backend-ram,size=256M,id=cxl-mem0 \
-device pxb-cxl,bus_nr=12,bus=pcie.0,id=cxl.1 \
-device cxl-rp,port=0,bus=cxl.1,id=root_port0,chassis=0,slot=0 \
-device cxl-type3,bus=root_port0,volatile-memdev=cxl-mem0,id=cxl-mem0 \
-M 
cxl-fmw.0.targets.0=cxl.1,cxl-fmw.0.size=4G,cxl-fmw.0.interleave-granularity=4k 
\
-hda ../disk/ubuntu_x86_test_new.qcow2 \
-nographic \
-qmp tcp:127.0.0.1:4444,server,nowait \

Qemu version: 8.2.50, the lastest commit of branch cxl-2024-03-05 in 
"https://gitlab.com/jic23/qemu"; 
Kernel version: 6.8.0-rc6

My steps in the Qemu qmp:
1) telnet 127.0.0.1 4444

result:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 2, "major": 8}, "package": 
"v6.2.0-19482-gccfb4fe221"}, "capabilities": ["oob"]}}

2) { "execute": "qmp_capabilities" }

result:
{"return": {}}

3) If inject correctable error:
{ "execute": "cxl-inject-correctable-error",
    "arguments": {
        "path": "/machine/peripheral/cxl-mem0",
        "type": "physical"
    } }

result:
{"return": {}}

3) If inject uncorrectable error:
{ "execute": "cxl-inject-uncorrectable-errors",
  "arguments": {
    "path": "/machine/peripheral/cxl-mem0",
    "errors": [
        {
            "type": "cache-address-parity",
            "header": [ 3, 4]
        },
        {
            "type": "cache-data-parity",
            "header": 
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
        },
        {
            "type": "internal",
            "header": [ 1, 2, 4]
        }
        ]
  }}

result:
{"return": {}}
{"timestamp": {"seconds": 1709721640, "microseconds": 275345}, "event": 
"SHUTDOWN", "data": {"guest": false, "reason": "host-signal"}}

Many thanks
Yuquan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]