public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Major Saheb <majosaheb@gmail.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Zhenzhong Duan <zhenzhong.duan@gmail.com>,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: vfio-pci rejects binding to devices having same pcie vendor id and device id
Date: Thu, 8 Dec 2022 10:50:08 -0600	[thread overview]
Message-ID: <20221208165008.GA1547952@bhelgaas> (raw)
In-Reply-To: <CANBBZXPWe56VYJtzXdimEnkFgF+A=G15TXrd8Z5kBcUOGgHeRw@mail.gmail.com>

[+cc VFIO folks and Zhenzhong (author of the commit you mention)]

On Thu, Dec 08, 2022 at 09:24:31PM +0530, Major Saheb wrote:
> 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/
> 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 ?

       reply	other threads:[~2022-12-08 16:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CANBBZXPWe56VYJtzXdimEnkFgF+A=G15TXrd8Z5kBcUOGgHeRw@mail.gmail.com>
2022-12-08 16:50 ` Bjorn Helgaas [this message]
2022-12-08 17:25   ` vfio-pci rejects binding to devices having same pcie vendor id and device id 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

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=20221208165008.GA1547952@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=alex.williamson@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=majosaheb@gmail.com \
    --cc=zhenzhong.duan@gmail.com \
    /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