qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [BUG REPORT] cxl process in infinity loop
@ 2024-07-02  0:30 Xingtao Yao (Fujitsu) via
  2024-07-02  8:46 ` Jonathan Cameron via
  0 siblings, 1 reply; 2+ messages in thread
From: Xingtao Yao (Fujitsu) via @ 2024-07-02  0:30 UTC (permalink / raw)
  To: Jonathan.Cameron@huawei.com, dan.j.williams@intel.com
  Cc: qemu-devel@nongnu.org, linux-cxl@vger.kernel.org,
	nvdimm@lists.linux.dev

Hi, all

When I did the cxl memory hot-plug test on QEMU, I accidentally connected 
two memdev to the same downstream port, the command like below:

> -object memory-backend-ram,size=262144k,share=on,id=vmem0 \
> -object memory-backend-ram,size=262144k,share=on,id=vmem1 \
> -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-upstream,bus=root_port0,id=us0 \
> -device cxl-downstream,port=0,bus=us0,id=swport00,chassis=0,slot=5 \
> -device cxl-downstream,port=0,bus=us0,id=swport01,chassis=0,slot=7 \
same downstream port but has different slot!

> -device cxl-type3,bus=swport00,volatile-memdev=vmem0,id=cxl-vmem0 \
> -device cxl-type3,bus=swport01,volatile-memdev=vmem1,id=cxl-vmem1 \
> -M cxl-fmw.0.targets.0=cxl.1,cxl-fmw.0.size=64G,cxl-fmw.0.interleave-granularity=4k \

There is no error occurred when vm start, but when I executed the “cxl list” command to view
the CXL objects info, the process can not end properly.

Then I used strace to trace the process, I found that the process is in infinity loop:
# strace cxl list
......
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
openat(AT_FDCWD, "/sys/bus/cxl/flush", O_WRONLY|O_CLOEXEC) = 3
write(3, "1\n\0", 3)                    = 3
close(3)                                = 0
access("/run/udev/queue", F_OK)         = 0

[Environment]:
linux: V6.10-rc3
QEMU: V9.0.0
ndctl: v79

I know this is because of the wrong use of the QEMU command, but I think we should 
be aware of this error in one of the QEMU, OS or ndctl side at least.

Thanks
Xingtao

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-02  8:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02  0:30 [BUG REPORT] cxl process in infinity loop Xingtao Yao (Fujitsu) via
2024-07-02  8:46 ` Jonathan Cameron via

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).