Linux CXL
 help / color / mirror / Atom feed
From: Itaru Kitayama <itaru.kitayama@linux.dev>
To: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Alison Schofield <alison.schofield@intel.com>, linux-cxl@vger.kernel.org
Subject: Re: ndctl cxl test suite fails in arm64 QEMU
Date: Tue, 25 Mar 2025 19:14:47 +0900	[thread overview]
Message-ID: <C7FF28D4-FFBD-4279-B107-7461B0C9A68B@linux.dev> (raw)
In-Reply-To: <20250313091126.000040db@huawei.com>



> On Mar 13, 2025, at 18:11, Jonathan Cameron <Jonathan.Cameron@huawei.com> wrote:
> 
> On Fri, 7 Mar 2025 10:44:23 +0900
> Itaru Kitayama <itaru.kitayama@linux.dev> wrote:
> 
>> Hi Jonathan, Alison,
>> 
>>> On Feb 28, 2025, at 23:34, Itaru Kitayama <itaru.kitayama@linux.dev> wrote:
>>> 
>>> On Tue, Feb 25, 2025 at 02:40:25PM -0800, Alison Schofield wrote:  
>>>> On Tue, Feb 25, 2025 at 01:09:57PM +0900, Itaru Kitayama wrote:  
>>>>> Hi,
>>>>> 
>>>>> Has anyone noticed the ndctl cxl test suite failures I reported below on arm64, QEMU emulation?
>>>>> 
>>>>> https://github.com/pmem/ndctl/issues/278
>>>>> 
>>>>> I’m using Jonathan’s latest CXL capable QEMU [1], and the latest CXL kernel [2].  
>>>> 
>>>> Hi Itaru,
>>>> 
>>>> Looking at region.c:size_store() it seems that alloc_hpa() is failing.
>>>> (kstrtou64 is arch independent and it works for me with same script &
>>>> value)
>>>> 
>>>> Check the dmesg log at the time of the failure. alloc_hpa() may be
>>>> emitting a message.  (In the run_qemu.sh cmdline add '--cxl-debug')  
>>> 
>>> dynamic debug reported this (kernel is without kaslr, today's cxl/next):
>>> 
>>> [  193.267649] device: 'region4': device_add
>>> [  193.267931] bus: 'cxl': add device region4
>>> [  193.268284] cxl region4: bus: 'cxl': __driver_probe_device: matched device with driver cxl_region
>>> [  193.268333] cxl region4: bus: 'cxl': really_probe: probing driver cxl_region with device
>>> [  193.268401] cxl_region region4: no default pinctrl state
>>> [  193.268482] cxl_region region4: probe with driver cxl_region rejects match -6
>>> 
>>> does the above show the region4 was not added properly? The sysfs
>>> entries are there after the out of range failure.  
>> 
>> The driver/cxl/core/region.c’s size_store() triggers a sequence of: 
>> 
>> alloc_hpa()
>> alloc_free_mem_region()
>> get_free_mem_region() // with flags set to 0, retruns -ERANGE
>> 
>> While I am looking at the resource core code, do you think this is caused by the old firmware I am using
>> when booting QEMU built off of your CXL topic branch? Suggestions are welcome.
> Unlikely as I don't think there have been any relevant changes in edk2 for
> a long long time.

I am trying to run the run_qemu.sh script which is maintained by the Intel CXL folk with:

$ qemu=$HOME/projects/qemu/build/qemu-system-aarch64 run_qemu.sh --roots ~/ubuntu24.img -r none --no-cxl --no-kvm  --hmat

and I get:

mkosi 12
/home/itaru/projects/qemu/build/qemu-system-aarch64 -machine virt,accel=tcg,nvdimm=on,hmat=on -m 8192M,slots=4,maxmem=40964M -smp 4,sockets=2,cores=2,threads=1 -display none -nographic -drive if=pflash,format=raw,unit=0,file=/home/itaru/edk2-aarch64-code.fd,readonly=on -drive if=pflash,format=raw,unit=1,file=/home/itaru/qemu-arm64-efivars.test -drive file=/home/itaru/ubuntu24.img,format=raw,media=disk -device e1000,netdev=net0,mac=52:54:00:12:34:56 -netdev user,id=net0,hostfwd=tcp::10022-:22 -snapshot -object memory-backend-ram,id=mem0,size=2048M -numa node,nodeid=0,memdev=mem0,initiator=0 -numa cpu,node-id=0,socket-id=0 -object memory-backend-ram,id=mem1,size=2048M -numa node,nodeid=1,memdev=mem1,initiator=1 -numa cpu,node-id=1,socket-id=1 -object memory-backend-ram,id=mem2,size=2048M -numa node,nodeid=2,memdev=mem2,initiator=0 -object memory-backend-ram,id=mem3,size=2048M -numa node,nodeid=3,memdev=mem3,initiator=1 -numa node,nodeid=4,initiator=0 -object memory-backend-file,id=nvmem0,share=on,mem-path=nvdimm-0,size=16384M,align=1G -device nvdimm,memdev=nvmem0,id=nv0,label-size=2M,node=4 -numa node,nodeid=5,initiator=1 -object memory-backend-file,id=nvmem1,share=on,mem-path=nvdimm-1,size=16384M,align=1G -device nvdimm,memdev=nvmem1,id=nv1,label-size=2M,node=5 -numa dist,src=0,dst=0,val=10 -numa dist,src=0,dst=1,val=21 -numa dist,src=0,dst=2,val=12 -numa dist,src=0,dst=3,val=21 -numa dist,src=0,dst=4,val=17 -numa dist,src=0,dst=5,val=28 -numa dist,src=1,dst=1,val=10 -numa dist,src=1,dst=2,val=21 -numa dist,src=1,dst=3,val=12 -numa dist,src=1,dst=4,val=28 -numa dist,src=1,dst=5,val=17 -numa dist,src=2,dst=2,val=10 -numa dist,src=2,dst=3,val=21 -numa dist,src=2,dst=4,val=28 -numa dist,src=2,dst=5,val=28 -numa dist,src=3,dst=3,val=10 -numa dist,src=3,dst=4,val=28 -numa dist,src=3,dst=5,val=28 -numa dist,src=4,dst=4,val=10 -numa dist,src=4,dst=5,val=28 -numa dist,src=5,dst=5,val=10 -numa hmat-lb,initiator=0,target=0,hierarchy=memory,data-type=access-latency,latency=5 -numa hmat-lb,initiator=0,target=0,hierarchy=memory,data-type=access-bandwidth,bandwidth=2000M -numa hmat-lb,initiator=0,target=1,hierarchy=memory,data-type=access-latency,latency=20 -numa hmat-lb,initiator=0,target=1,hierarchy=memory,data-type=access-bandwidth,bandwidth=1000M -numa hmat-lb,initiator=0,target=2,hierarchy=memory,data-type=access-latency,latency=10 -numa hmat-lb,initiator=0,target=2,hierarchy=memory,data-type=access-bandwidth,bandwidth=1500M -numa hmat-lb,initiator=0,target=3,hierarchy=memory,data-type=access-latency,latency=20 -numa hmat-lb,initiator=0,target=3,hierarchy=memory,data-type=access-bandwidth,bandwidth=1000M -numa hmat-lb,initiator=0,target=4,hierarchy=memory,data-type=access-latency,latency=30 -numa hmat-lb,initiator=0,target=4,hierarchy=memory,data-type=access-bandwidth,bandwidth=1000M -numa hmat-lb,initiator=0,target=5,hierarchy=memory,data-type=access-latency,latency=40 -numa hmat-lb,initiator=0,target=5,hierarchy=memory,data-type=access-bandwidth,bandwidth=500M -numa hmat-cache,node-id=0,size=10K,level=1,associativity=direct,policy=write-back,line=64 -numa hmat-lb,initiator=1,target=0,hierarchy=memory,data-type=access-latency,latency=20 -numa hmat-lb,initiator=1,target=0,hierarchy=memory,data-type=access-bandwidth,bandwidth=1000M -numa hmat-lb,initiator=1,target=1,hierarchy=memory,data-type=access-latency,latency=5 -numa hmat-lb,initiator=1,target=1,hierarchy=memory,data-type=access-bandwidth,bandwidth=2000M -numa hmat-lb,initiator=1,target=2,hierarchy=memory,data-type=access-latency,latency=20 -numa hmat-lb,initiator=1,target=2,hierarchy=memory,data-type=access-bandwidth,bandwidth=1000M -numa hmat-lb,initiator=1,target=3,hierarchy=memory,data-type=access-latency,latency=10 -numa hmat-lb,initiator=1,target=3,hierarchy=memory,data-type=access-bandwidth,bandwidth=1500M -numa hmat-lb,initiator=1,target=4,hierarchy=memory,data-type=access-latency,latency=40 -numa hmat-lb,initiator=1,target=4,hierarchy=memory,data-type=access-bandwidth,bandwidth=500M -numa hmat-lb,initiator=1,target=5,hierarchy=memory,data-type=access-latency,latency=30 -numa hmat-lb,initiator=1,target=5,hierarchy=memory,data-type=access-bandwidth,bandwidth=1000M -numa hmat-cache,node-id=1,size=10K,level=1,associativity=direct,policy=write-back,line=64
qemu-system-aarch64: -device nvdimm,memdev=nvmem0,id=nv0,label-size=2M,node=4: memory hotplug is not enabled: missing acpi-ged device

QEMU is built off of your latest update, and I could not find the acpi-ged device what do I do?

Thanks,
Itaru.

> 
> Jonathan
> 
>> 
>> Itaru. 
>> 
>>> 
>>> Itaru.
>>> 
>>>> 
>>>> Sounds like Marc is on to something and maybe the KASLR is known
>>>> to cause this problem.
>>>> 
>>>> Thanks for posting to this list and send any further questions or
>>>> comments. Happy to have you using run_qemu.sh and the cxl tests!
>>>> 
>>>> Alison
>>>> 
>>>> 
>>>>> 
>>>>> [1] https://gitlab.com/jic23/qemu/ cxl-2025-02-20
>>>>> [2] https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/
>>>>> 
>>>>> Thanks,
>>>>> Itaru.  



      reply	other threads:[~2025-03-25 10:15 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-25  4:09 ndctl cxl test suite fails in arm64 QEMU Itaru Kitayama
2025-02-25 17:08 ` Marc Herbert
2025-02-25 22:37   ` Itaru Kitayama
2025-02-25 22:48     ` Alison Schofield
2025-02-25 23:53       ` Itaru Kitayama
2025-02-26 18:45         ` Alison Schofield
2025-02-26 22:07           ` Itaru Kitayama
2025-02-27  0:44           ` Itaru Kitayama
2025-02-27  5:31           ` Itaru Kitayama
2025-02-26 19:30     ` Dave Jiang
2025-02-26 22:04       ` Itaru Kitayama
2025-03-01  0:27         ` Marc Herbert
2025-02-26  8:02   ` Itaru Kitayama
2025-02-25 22:40 ` Alison Schofield
2025-02-28 12:15   ` Itaru Kitayama
2025-02-28 14:34   ` Itaru Kitayama
2025-03-07  1:44     ` Itaru Kitayama
2025-03-13  9:11       ` Jonathan Cameron
2025-03-25 10:14         ` Itaru Kitayama [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C7FF28D4-FFBD-4279-B107-7461B0C9A68B@linux.dev \
    --to=itaru.kitayama@linux.dev \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=linux-cxl@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox