From: Jason Gunthorpe <jgg@nvidia.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: Max Gurtovoy <mgurtovoy@nvidia.com>, <alex.williamson@redhat.com>,
<kvm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<liranl@nvidia.com>, <oren@nvidia.com>, <tzahio@nvidia.com>,
<leonro@nvidia.com>, <yarong@nvidia.com>, <aviadye@nvidia.com>,
<shahafs@nvidia.com>, <artemp@nvidia.com>, <kwankhede@nvidia.com>,
<ACurrid@nvidia.com>, <gmataev@nvidia.com>, <cjia@nvidia.com>
Subject: Re: [PATCH RFC v1 0/3] Introduce vfio-pci-core subsystem
Date: Mon, 18 Jan 2021 14:16:26 -0400 [thread overview]
Message-ID: <20210118181626.GL4147@nvidia.com> (raw)
In-Reply-To: <20210118170009.058c8c52.cohuck@redhat.com>
On Mon, Jan 18, 2021 at 05:00:09PM +0100, Cornelia Huck wrote:
> > You can say that all the HW specific things are in the mlx5_vfio_pci
> > driver. It is an unusual driver because it must bind to both the PCI
> > VF with a pci_driver and to the mlx5_core PF using an
> > auxiliary_driver. This is needed for the object lifetimes to be
> > correct.
>
> Hm... I might be confused about the usage of the term 'driver' here.
> IIUC, there are two drivers, one on the pci bus and one on the
> auxiliary bus. Is the 'driver' you're talking about here more the
> module you load (and not a driver in the driver core sense?)
Here "driver" would be the common term meaning the code that realizes
a subsytem for HW - so mlx5_vfio_pci is a VFIO driver because it
ultimately creates a /dev/vfio* through the vfio subsystem.
The same way we usually call something like mlx5_en an "ethernet
driver" not just a "pci driver"
> Yes, sure. But it also shows that mlx5_vfio_pci aka the device-specific
> code is rather small in comparison to the common vfio-pci code.
> Therefore my question whether it will gain more specific changes (that
> cannot be covered via the auxiliary driver.)
I'm not sure what you mean "via the auxiliary driver" - there is only
one mlx5_vfio_pci, and the non-RFC version with all the migration code
is fairly big.
The pci_driver contributes a 'struct pci_device *' and the
auxiliary_driver contributes a 'struct mlx5_core_dev *'. mlx5_vfio_pci
fuses them together into a VFIO device. Depending on the VFIO
callback, it may use an API from the pci_device or from the
mlx5_core_dev device, or both.
Jason
next prev parent reply other threads:[~2021-01-18 18:18 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-17 18:15 [PATCH RFC v1 0/3] Introduce vfio-pci-core subsystem Max Gurtovoy
2021-01-17 18:15 ` [PATCH 1/3] vfio-pci: rename vfio_pci.c to vfio_pci_core.c Max Gurtovoy
2021-01-17 18:15 ` [PATCH 2/3] vfio-pci: introduce vfio_pci_core subsystem driver Max Gurtovoy
2021-01-17 18:15 ` [PATCH 3/3] mlx5-vfio-pci: add new vfio_pci driver for mlx5 devices Max Gurtovoy
2021-01-18 13:38 ` [PATCH RFC v1 0/3] Introduce vfio-pci-core subsystem Cornelia Huck
2021-01-18 15:10 ` Jason Gunthorpe
2021-01-18 16:00 ` Cornelia Huck
2021-01-18 18:16 ` Jason Gunthorpe [this message]
2021-01-19 18:56 ` Cornelia Huck
2021-01-19 19:42 ` Jason Gunthorpe
2021-01-22 19:25 ` Alex Williamson
2021-01-22 20:04 ` Jason Gunthorpe
2021-01-25 16:20 ` Cornelia Huck
2021-01-25 18:04 ` Jason Gunthorpe
2021-01-25 23:31 ` Alex Williamson
2021-01-26 0:45 ` Jason Gunthorpe
2021-01-26 3:34 ` Alex Williamson
2021-01-26 13:27 ` Max Gurtovoy
2021-01-28 16:29 ` Cornelia Huck
2021-01-28 21:02 ` Alex Williamson
2021-01-31 18:46 ` Max Gurtovoy
2021-02-01 4:32 ` Alex Williamson
2021-02-01 9:40 ` Max Gurtovoy
2021-02-01 17:29 ` Alex Williamson
2021-02-01 17:17 ` Jason Gunthorpe
2021-01-31 18:09 ` Max Gurtovoy
2021-01-26 17:23 ` Jason Gunthorpe
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=20210118181626.GL4147@nvidia.com \
--to=jgg@nvidia.com \
--cc=ACurrid@nvidia.com \
--cc=alex.williamson@redhat.com \
--cc=artemp@nvidia.com \
--cc=aviadye@nvidia.com \
--cc=cjia@nvidia.com \
--cc=cohuck@redhat.com \
--cc=gmataev@nvidia.com \
--cc=kvm@vger.kernel.org \
--cc=kwankhede@nvidia.com \
--cc=leonro@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=liranl@nvidia.com \
--cc=mgurtovoy@nvidia.com \
--cc=oren@nvidia.com \
--cc=shahafs@nvidia.com \
--cc=tzahio@nvidia.com \
--cc=yarong@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.