Customize the CXL System Topology UI
When Memory Machine cannot automatically determine the server's topology, /etc/memverge/cxl_user_defined.json
can be used to correct the server topology information. This step is optional and should be used only if the UI is incorrectly representing the hardware topology.
When changes to the UI System Topology are required, please copy the following contents to /etc/memverge/cxl_user_defined.json
and edit it.
The following skeleton file shows two CXL devices:
$ sudo cat cxl_user_defined.json
[
{
"PCIBusID": "0000:df:00.0",
"PCIVendor": "MemVerge",
"BackingMemory": "DDR4",
"online":true,
"PCILinkWidth": 16,
"name": "mem0"
},
{
"PCIBusID": "0000:108:00.0",
"PCIVendor": "Samsung",
"UserDefinedField1": "UserDefinedVal1",
"UserDefinedFiled2": "UserDefinedVal2",
"online":true
"PCILinkWidth": 16,
"name": "mem1"
}
]
Values in the cxl_user_defined.json
can be used to override the defaults or add additional CXL device information to the UI. The following table shows the variables that can be used to override the default auto-detected values. Except for "PCIBusID", all other properties are optional and only required if the default value is incorrectly displayed in the UI. PCIBusID is used to identify which CXL device to apply the changes.
Variable | Overrides the Default | Data Type | Value Example | Description |
---|---|---|---|---|
online | Yes | Boolean | true | Specifies if the CXL device is ONLINE (true) or OFFLINE (false) |
PCIBusID | Yes | String | "0000:df:00.0" | [Required] Provides the Bus,Device,Function information |
PCIVendor | Yes | String | "CXLMemCo" | Specifies the CXL Device Vendor |
NUMANodeID | Yes | Integer | 2 | Specifies the NUMA Node ID if the device is in 'system-ram' mode |
name | Yes | String | "mem0" | Specifies the Kernel device name, eg: "mem0" |
mode | Yes | String | "system-ram" | Speficies the CXL Namespace Mode, eg: "devdax" or "system-ram" |
size | Yes | Integer | 137438953472 | Specifies the CXL Device Capacity in Bytes, eg: 137438953472 = 128 GiB |
PCILinkWidth | Yes | Integer | 8 | Specifies the number of PCIe Lanes used, eg: x4, x8, x16 |
CPUPackageID | Yes | Integer | 0 | Specifies which CPU Socket the CXL device is attached. |
Additional user-defined keys and values can be added. These fields will be shown in the hover over window for that device in the UI. The Key and Value are displayed as-is.
If the changes are not displayed in the browser UI, restart the mmmgr
service using:
See the Troubleshooting section of the Installation Guide for more information if the changes still do not appear.