Dear Sir/Madame, I am Gabriele Borello, an engineering student at the Polytechnic of Turin. I am preparing my master's thesis at the Reds laboratories of HEIG-VD in Yverdon-les-bains, Switzerland. It is based on the creation of a simple computational storage that exploits the advantages deriving from the NVMe protocol.
The QEMU environment has been widely used for the validation phase and I am writing to you about a problem encountered for the implementation of a peer-to-peer transfer using p2pmem-test ( https://github.com/sbates130272/p2pmem-test ). The following kernel version was used: Linux 5.9.0-rc8 x86_64, with the following QEMU settings: sudo ./experimental_qemu/build/qemu-system-x86_64 -M pc -nographic -no-reboot -object memory-backend-file,id=pc.ram,size=3G,mem-path=/dev/shm/qemu-mem,share=on -machine memory-backend=pc.ram -cpu host -m 3G -smp cpus=2 --enable-kvm -kernel ./bzImage -drive file=./rootfs-target.img,if=ide,format=raw -drive file=nvme.img,if=none,id=nvme0 -device nvme,drive=nvme0,serial=d000000d,num_queues=8,cmb_size_mb=128 -drive file=nvme1.img,if=none,id=nvme1 -device nvme,drive=nvme1,serial=e000000e,num_queues=8,cmb_size_mb=128 -append "console=ttyS0 root=/dev/sda rw panic=1 earlyprintk=serial,ttyS0,115200" -trace events="${QEMU_TMP_DIR}"/events. The kernel was compiled by configuring peer-to-peer as described in the p2pmem-test guide. Trying to run the command suggested in the p2pmem-test guide ( ./p2pmem-test /dev/nvme0n1 /dev/nvme1n1 /dev/p2pmem0 -c 1 -s 4k), we get a kernel panic. We don't know where we went wrong. If you could give us feedback we would be very grateful. Thank you, Best regards. Gabriele