Linux PCI subsystem development
 help / color / mirror / Atom feed
* vfio-pci rejects binding to devices having same pcie vendor id and device id
@ 2022-12-08 15:54 Major Saheb
  2022-12-08 16:50 ` Bjorn Helgaas
  0 siblings, 1 reply; 8+ messages in thread
From: Major Saheb @ 2022-12-08 15:54 UTC (permalink / raw)
  To: linux-pci

I have a linux system running in kvm, with 6 qemu emulated NVMe
drives, as expected all of them have the same PCIe Vendor ID and
Device ID(VID: 0x1b36 DID: 0x0010).
When I try to unbind them from the kernel NVMe driver and bind it to
vfio-pci one by one, I am getting "write error: File exists" when I
try to bind the 2nd(and other) drive to vfio-pci.

Kernel version

5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64
x86_64 x86_64 GNU/Linux


lrwxrwxrwx 1 root root 0 Dec  8 11:32 /sys/block/nvme0n1 ->
../devices/pci0000:00/0000:00:03.0/nvme/nvme0/nvme0n1
lrwxrwxrwx 1 root root 0 Dec  8 11:32 /sys/block/nvme1n1 ->
../devices/pci0000:00/0000:00:04.0/nvme/nvme1/nvme1n1
lrwxrwxrwx 1 root root 0 Dec  8 11:32 /sys/block/nvme2n1 ->
../devices/pci0000:00/0000:00:05.0/nvme/nvme2/nvme2n1
lrwxrwxrwx 1 root root 0 Dec  8 11:32 /sys/block/nvme3n1 ->
../devices/pci0000:00/0000:00:06.0/nvme/nvme3/nvme3n1
lrwxrwxrwx 1 root root 0 Dec  8 11:32 /sys/block/nvme4n1 ->
../devices/pci0000:00/0000:00:07.0/nvme/nvme4/nvme4n1
lrwxrwxrwx 1 root root 0 Dec  8 11:32 /sys/block/nvme5n1 ->
../devices/pci0000:00/0000:00:08.0/nvme/nvme5/nvme5n1


Steps for repro
ubind nvme2 from kernel NVMe driver and bind it to vfio
$ ls -l /sys/bus/pci/drivers/vfio-pci/
total 0
lrwxrwxrwx 1 root root    0 Dec  8 13:04 0000:00:05.0 ->
../../../../devices/pci0000:00/0000:00:05.0
--w------- 1 root root 4096 Dec  8 13:07 bind
lrwxrwxrwx 1 root root    0 Dec  8 13:07 module -> ../../../../module/vfio_pci
--w------- 1 root root 4096 Dec  8 13:04 new_id
--w------- 1 root root 4096 Dec  8 13:07 remove_id
--w------- 1 root root 4096 Dec  8 11:32 uevent
--w------- 1 root root 4096 Dec  8 13:07 unbind

Unbind nvme3 from  kernel NVMe driver
Try binding to vfio-pci
# echo "0x1b36  0x0010" >  /sys/bus/pci/drivers/vfio-pci/new_id
-bash: echo: write error: File exists

Not sure but this seems interesting
https://github.com/torvalds/linux/commit/3853f9123c185eb4018f5ccd3cdda5968efb5e10#diff-625d2827bff96bb3a019fa705d99f0b89ec32f281c38a844457b3413d9172007

Can some help ?

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

end of thread, other threads:[~2022-12-12  9:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-08 15:54 vfio-pci rejects binding to devices having same pcie vendor id and device id Major Saheb
2022-12-08 16:50 ` Bjorn Helgaas
2022-12-08 17:25   ` Alex Williamson
2022-12-08 17:55     ` Major Saheb
2022-12-08 18:21       ` Alex Williamson
2022-12-08 18:48         ` Major Saheb
2022-12-12  4:44   ` Zhenzhong Duan
2022-12-12  9:26     ` Major Saheb

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox