+linux-nvme (Keith and Christoph) On 2021/11/02 17:19, Shinichiro Kawasaki wrote: > On Nov 02, 2021 / 03:07, Chaitanya Kulkarni wrote: >> >>> The NVMe device I use is a U.2 NVMe ZNS SSD. It has a zoned name space and >>> a regular name space, and the hang is observed with both name spaces. I have >>> not yet tried other NVME devices, so I will try them. > > I tried another NVMe device, WD Black SN750, but it did not recreate the hang. > >>> >> >> See if you can produce this with QEMU NVMe emulation (ZNS and NON-ZNS >> mode), if you can then it will be easier to reproduce for everyone. > > Chaitanya, thank you for the advice. I have managed to reproduce the hang with > QEMU NVMe emulation. Actually, ZNS mode is not required. I tried some device > set up configuration with QEMU, and the hang was recreated when a single NVMe > device has two namespaces. With single namespace in a single NVMe device, the > hang is not observed. > > So it looks like that the number of namespaces may be related to the cause. The > WD Black SN750 without hang has single namespace. I reduced the number of > namespaces of the U.2 NVMe ZNS SSD from 2 to 1, then the hang was not observed. > > FYI, the QEMU command line options that I used was as follows. It prepares > /dev/nvme0n1 and /dev/nvme0n2, and the block/005 run on /dev/nvme0n1 recreated > the hang. > > -device nvme,id=nvme0,serial=qemunvme,logical_block_size=4096,physical_block_size=4096 \ > -drive file=(path)/nvme0n1.img,id=nvme0n1,format=raw,if=none \ > -device nvme-ns,drive=nvme0n1,bus=nvme0,nsid=1 \ > -drive file=(path)/nvme0n2.img,id=nvme0n2,format=raw,if=none \ > -device nvme-ns,drive=nvme0n2,bus=nvme0,nsid=2 > > Regarding the two image files, I created them beforehand with the command below: > > $ qemu-img create -f raw "${image_file_path}" 1024M > > Hope this helps. > -- Damien Le Moal Western Digital Research