Closed Taeung closed 1 year ago
@KyungsanKim if you help me, I appreciate it !
Hi, thanks for the detailed log information :)
CXL memory is registered at the time of probing, so it is normal to see "ExMem empty" in the "Zone ranges" dmesg log.
Based on the dmesg log, it looks like the CXL memory range is not visible on the ACPI SRAT. For now, to use CXL memory, the BIOS must specify and provide the CXL memory range to the OS.
Check the "BIOS-provided physical RAM map" in dmesg for the CXL memory range. If there is no CXL range information, you may need to check if your system's BIOS supports CXL memory. (BTW, what system and CXL device are you currently using?)
Thanks.
Thank you for your reply @wj28lees !
I'm using SAMSUNG CXL MEMORY EXPANDER(MXFAG1280B20-CWK00) and Supermicro(X13DEG-QT) + Ubuntu 22.04 server
sudo dmidecode -t 1
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.5.0 present.
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Supermicro
Product Name: SYS-741GE-TNRT
Version: 0123456789
Serial Number: A...
UUID: 00000000-0000-0000-0000-7cc2559d47fc
Wake-up Type: Power Switch
SKU Number: To be filled by O.E.M.
Family: Family
sudo dmidecode -t 2
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.5.0 present.
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: Supermicro
Product Name: X13DEG-QT
Version: 1.10
Serial Number: OM...
Asset Tag: Base Board Asset Tag
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Part Component
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0
What you told me was very helpful. So I rechecked my BIOS configuration manual PDF and I found "CXL Type 3 Legacy". I made it "Enable".
CXL Type 3 Legacy
Select Enable to use the CXL Type 3 memory device, which can be supported by the
CXL Type 2 flows, for memory bandwidth and capacity expansion. The options are Dis-
able and Enable.
And I found the CXL range information! But I've not found ExMem zone yet. How can I solve it ?
$ dmesg
...
[ 0.000000] BIOS-e820: [mem 0x0000002080000000-0x000000407fffffff] soft reserved
[ 0.000000] efi_fake_mem: add attr=0x0000000000040000 to [mem 0x0000002080000000-0x000000407fffffff]
[ 0.000000] e820: remove [mem 0x2080000000-0x404fe25fff] usable
...
[ 0.000000] reserve setup_data: [mem 0x0000002080000000-0x000000404fe25fff] soft reserved
[ 0.000000] reserve setup_data: [mem 0x000000404fe26000-0x000000407fffffff] soft reserved
...
[ 0.014957] efi: mem668: [Conventional| | | |SP| | | | | | |WB|WT|WC|UC] range=[
0x0000002080000000-0x000000404fe25fff] (130302MB)
[ 0.014959] efi: mem669: [Loader Data | | | |SP| | | | | | |WB|WT|WC|UC] range=[0x000000404fe26000-0x000000407fffffff] (769MB)
...
[ 0.015600] RAMDISK: [mem 0x404fe26000-0x407fffffff]
...
[ 0.256500] ACPI: SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff]
[ 0.256502] ACPI: SRAT: Node 0 PXM 0 [mem 0x100000000-0x107fffffff]
[ 0.256504] ACPI: SRAT: Node 1 PXM 1 [mem 0x1080000000-0x207fffffff]
[ 0.256518] ACPI: SRAT: Node 2 PXM 2 [mem 0x2080000000-0x407fffffff]
...
[ 0.256525] NUMA: Initialized distance table, cnt=3
[ 0.256530] NUMA: Node 0 [mem 0x00000000-0x7fffffff] + [mem 0x100000000-0x107fffffff] -> [mem 0x00000000-0x107fffffff]
[ 0.256545] NODE_DATA(0) allocated [mem 0x107ffc1000-0x107fffffff]
[ 0.256580] NODE_DATA(1) allocated [mem 0x204fde6000-0x204fe24fff]
...
[ 0.257081] Zone ranges:
[ 0.257082] DMA [mem 0x0000000000001000-0x0000000000ffffff]
[ 0.257083] DMA32 [mem 0x0000000001000000-0x00000000ffffffff]
[ 0.257085] Normal [mem 0x0000000100000000-0x000000207fffffff]
[ 0.257086] ExMem empty
[ 0.257087] Device empty
...
[ 0.257090] Early memory node ranges
[ 0.257091] node 0: [mem 0x0000000000001000-0x000000000003dfff]
[ 0.257093] node 0: [mem 0x000000000003f000-0x000000000009ffff]
[ 0.257094] node 0: [mem 0x0000000000100000-0x000000006d90efff]
[ 0.257095] node 0: [mem 0x00000000777ff000-0x00000000777fffff]
[ 0.257096] node 0: [mem 0x0000000100000000-0x000000107fffffff]
[ 0.257102] node 1: [mem 0x0000001080000000-0x000000207fffffff]
[ 0.257109] Initmem setup node 0 [mem 0x0000000000001000-0x000000107fffffff]
[ 0.257113] Initmem setup node 1 [mem 0x0000001080000000-0x000000207fffffff]
[ 0.257115] Initializing node 2 as memoryless
[ 0.257158] Initmem setup node 2 as memoryless
...
[ 1.645706] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.4.0-smdk root=UUID=b7248bf1-0cc5-4dca-ac40-872158720c6a ro efi_fake_mem=128G@0x2080000000:0x40000
...
Related to CXL :
$ dmesg
[ 8.508837] cxlswap using pool (allocator: cxlbud)
[ 8.509402] cxlcache using pool (allocator: cxlbud)
...
[ 9.195644] CXL: soft reserved: [mem 0x2080000000-0x404fe3efff]
[ 9.198456] CXL: out of range: [mem 0x2080000000-0x407fffffff]
[ 9.201258] CXL: failed to add cxl meminfo
[ 9.204045] CXL: node count: 0
[ 9.206853] cxl_pci 0000:3d:00.0: enabling device (0140 -> 0142)
[ 9.209611] CXL: register cxl dvsec ranges
[ 9.212326] CXL: soft reserved: [mem 0x2080000000-0x404fe3efff]
[ 9.212374] AVX2 version of gcm_enc/dec engaged.
[ 9.215074] CXL: out of range: [mem 0x2080000000-0x407fffffff]
[ 9.215075] CXL: Failed to add cxl meminfo
[ 9.215075] CXL: node count: 0
[ 9.215200] cxl_pci 0000:3d:00.0: No component registers (-19)
[ 9.228452] cxl_pci 0000:3d:00.0: Failed to request region 0x0000000000001fff-0x000000000010201e
[ 9.231212] AES CTR mode by8 optimization enabled
[ 9.232498] can't find cxl_memblk.
...
[ 14.777261] cxl_mem mem0: CXL port topology not found
$ cat /proc/buddyinfo
Node 0, zone DMA 2 2 1 0 0 0 0 0 1 1 2
Node 0, zone DMA32 8 7 7 6 7 6 5 5 7 3 412
Node 0, zone Normal 461 319 123 284 667 733 351 215 111 52 15268
Node 1, zone Normal 41094 18027 2637 1534 1015 647 289 91 50 38 13786
Taeung, I'm glad to hear you found this helpful!
Could you please reach out to us at the email addresses below? : wj28.lee@samsung.com, ks0204.kim@samsung.com
It would be convenient to analyse this further via email, including requesting more information to understand what is happening. (It would also be helpful if you could provide us with information about your research organisation or company.)
Thanks!
OK I'll do it as you said.
This issue has been resolved so I'll close it. Thanks!
Hi, First of all thank you for this opensource! :smile:
How to slove the problem of
[ 0.091860] ExMem empty
? I appreciate it, if you help me! :smiley:My system info:
CXL Device info: