From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: kvm@vger.kernel.org, maorg@nvidia.com,
virtualization@lists.linux-foundation.org, jiri@nvidia.com,
leonro@nvidia.com
Subject: Re: [PATCH vfio 11/11] vfio/virtio: Introduce a vfio driver over virtio devices
Date: Fri, 22 Sep 2023 05:47:23 -0400 [thread overview]
Message-ID: <20230922011918-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230921224836.GD13733@nvidia.com>
On Thu, Sep 21, 2023 at 07:48:36PM -0300, Jason Gunthorpe wrote:
> On Thu, Sep 21, 2023 at 04:16:25PM -0400, Michael S. Tsirkin wrote:
> > On Thu, Sep 21, 2023 at 04:53:45PM -0300, Jason Gunthorpe wrote:
> > > On Thu, Sep 21, 2023 at 03:34:03PM -0400, Michael S. Tsirkin wrote:
> > >
> > > > that's easy/practical. If instead VDPA gives the same speed with just
> > > > shadow vq then keeping this hack in vfio seems like less of a problem.
> > > > Finally if VDPA is faster then maybe you will reconsider using it ;)
> > >
> > > It is not all about the speed.
> > >
> > > VDPA presents another large and complex software stack in the
> > > hypervisor that can be eliminated by simply using VFIO.
> >
> > If all you want is passing through your card to guest
> > then yes this can be addressed "by simply using VFIO".
>
> That is pretty much the goal, yes.
>
> > And let me give you a simple example just from this patchset:
> > it assumes guest uses MSIX and just breaks if it doesn't.
>
> It does? Really? Where did you see that?
This thing apparently:
+ opcode = (pos < VIRTIO_PCI_CONFIG_OFF(true)) ?
+ VIRTIO_ADMIN_CMD_LEGACY_COMMON_CFG_READ :
+ VIRTIO_ADMIN_CMD_LEGACY_DEV_CFG_READ;
That "true" is supposed to be whether guest enabled MSI or not.
> > > VFIO is
> > > already required for other scenarios.
> >
> > Required ... by some people? Most VMs I run don't use anything
> > outside of virtio.
>
> Yes, some people. The sorts of people who run large data centers.
>
> > It seems to deal with emulating virtio which seems more like a vdpa
> > thing.
>
> Alex described it right, it creates an SW trapped IO bar that relays
> the doorbell to an admin queue command.
>
> > If you start adding virtio emulation to vfio then won't
> > you just end up with another vdpa? And if no why not?
> > And I don't buy the "we already invested in this vfio based solution",
> > sorry - that's not a reason upstream has to maintain it.
>
> I think you would be well justified to object to actual mediation,
> like processing queues in VFIO or otherwise complex things.
This mediation is kind of smallish, I agree. Not completely devoid of
logic though.
> Fortunately there is no need to do that with DPU HW. The legacy IO BAR
> is a weird quirk that just cannot be done without a software trap, and
> the OASIS standardization effort was for exactly this kind of
> simplistic transformation.
>
> I also don't buy the "upstream has to maintain it" line. The team that
> submitted it will maintain it just fine, thank you.
it will require maintainance effort when virtio changes are made. For
example it pokes at the device state - I don't see specific races right
now but in the past we did e.g. reset the device to recover from errors
and we might start doing it again.
If more of the logic is under virtio directory where we'll remember
to keep it in loop, and will be able to reuse it from vdpa
down the road, I would be more sympathetic.
--
MST
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2023-09-22 9:47 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-21 12:40 [PATCH vfio 00/11] Introduce a vfio driver over virtio devices Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 01/11] virtio-pci: Use virtio pci device layer vq info instead of generic one Yishai Hadas via Virtualization
2023-09-21 13:46 ` Michael S. Tsirkin
2023-09-26 19:13 ` Feng Liu via Virtualization
2023-09-27 18:09 ` Feng Liu via Virtualization
2023-09-27 21:24 ` Michael S. Tsirkin
2023-09-21 12:40 ` [PATCH vfio 02/11] virtio: Define feature bit for administration virtqueue Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 03/11] virtio-pci: Introduce admin virtqueue Yishai Hadas via Virtualization
2023-09-21 13:57 ` Michael S. Tsirkin
2023-09-26 19:23 ` Feng Liu via Virtualization
2023-09-27 18:12 ` Feng Liu via Virtualization
2023-09-27 21:27 ` Michael S. Tsirkin
2023-10-02 18:07 ` Feng Liu via Virtualization
2023-09-21 12:40 ` [PATCH vfio 04/11] virtio: Expose the synchronous command helper function Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 05/11] virtio-pci: Introduce admin command sending function Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 06/11] virtio-pci: Introduce API to get PF virtio device from VF PCI device Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 07/11] virtio-pci: Introduce admin commands Yishai Hadas via Virtualization
2023-09-24 5:18 ` kernel test robot
2023-09-25 3:18 ` kernel test robot
2023-09-21 12:40 ` [PATCH vfio 08/11] vfio/pci: Expose vfio_pci_core_setup_barmap() Yishai Hadas via Virtualization
2023-09-21 16:35 ` Alex Williamson
2023-09-26 9:45 ` Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 09/11] vfio/pci: Expose vfio_pci_iowrite/read##size() Yishai Hadas via Virtualization
2023-09-21 12:40 ` [PATCH vfio 10/11] vfio/virtio: Expose admin commands over virtio device Yishai Hadas via Virtualization
2023-09-21 13:08 ` Michael S. Tsirkin
2023-09-21 20:34 ` Michael S. Tsirkin
2023-09-26 10:51 ` Yishai Hadas via Virtualization
2023-09-26 11:25 ` Michael S. Tsirkin
2023-09-22 9:54 ` Michael S. Tsirkin
2023-09-26 11:14 ` Yishai Hadas via Virtualization
2023-09-26 11:41 ` Michael S. Tsirkin
[not found] ` <20230927131817.GA338226@nvidia.com>
2023-09-27 21:30 ` Michael S. Tsirkin
[not found] ` <20230927231600.GD339126@nvidia.com>
2023-09-28 5:26 ` Michael S. Tsirkin
2023-10-02 6:28 ` Christoph Hellwig
[not found] ` <20231002151320.GA650762@nvidia.com>
2023-10-05 8:49 ` Christoph Hellwig
[not found] ` <20231005111004.GK682044@nvidia.com>
2023-10-06 13:09 ` Christoph Hellwig
[not found] ` <20231010131031.GJ3952@nvidia.com>
2023-10-10 13:56 ` Michael S. Tsirkin
[not found] ` <20231010140849.GL3952@nvidia.com>
2023-10-10 14:54 ` Michael S. Tsirkin
2023-10-10 15:09 ` Yishai Hadas via Virtualization
2023-10-10 15:14 ` Michael S. Tsirkin
2023-10-10 15:43 ` Yishai Hadas via Virtualization
2023-10-10 15:58 ` Parav Pandit via Virtualization
2023-10-10 15:58 ` Michael S. Tsirkin
2023-10-10 16:09 ` Yishai Hadas via Virtualization
2023-10-10 20:42 ` Michael S. Tsirkin
2023-10-11 7:44 ` Yishai Hadas via Virtualization
2023-10-11 8:02 ` Michael S. Tsirkin
2023-10-11 8:58 ` Yishai Hadas via Virtualization
2023-10-11 9:03 ` Michael S. Tsirkin
2023-10-11 11:25 ` Yishai Hadas via Virtualization
2023-10-11 6:12 ` Christoph Hellwig
[not found] ` <20231010155937.GN3952@nvidia.com>
2023-10-10 16:03 ` Michael S. Tsirkin
[not found] ` <20231010160712.GO3952@nvidia.com>
2023-10-10 16:21 ` Parav Pandit via Virtualization
2023-10-10 20:38 ` Michael S. Tsirkin
2023-10-11 6:13 ` Christoph Hellwig
2023-10-11 6:43 ` Michael S. Tsirkin
2023-10-11 6:59 ` Christoph Hellwig
2023-10-11 8:00 ` Parav Pandit via Virtualization
2023-10-11 8:10 ` Michael S. Tsirkin
[not found] ` <20231011121849.GV3952@nvidia.com>
2023-10-11 17:03 ` Michael S. Tsirkin
2023-10-11 17:05 ` Michael S. Tsirkin
2023-10-12 10:29 ` Zhu, Lingshan
[not found] ` <20231012132749.GK3952@nvidia.com>
2023-10-13 10:28 ` Zhu, Lingshan
2023-10-13 13:50 ` Michael S. Tsirkin
2023-10-16 8:33 ` Zhu, Lingshan
2023-10-16 8:52 ` Michael S. Tsirkin
2023-10-16 9:53 ` Zhu, Lingshan
2023-10-11 8:12 ` Michael S. Tsirkin
2023-10-12 10:30 ` Zhu, Lingshan
2023-10-11 6:26 ` Christoph Hellwig
[not found] ` <20231011135709.GW3952@nvidia.com>
2023-10-11 14:17 ` Christoph Hellwig
[not found] ` <20231011145810.GZ3952@nvidia.com>
2023-10-11 16:59 ` Michael S. Tsirkin
[not found] ` <20231011171944.GA3952@nvidia.com>
2023-10-11 20:20 ` Michael S. Tsirkin
2023-09-21 12:40 ` [PATCH vfio 11/11] vfio/virtio: Introduce a vfio driver over virtio devices Yishai Hadas via Virtualization
2023-09-21 13:16 ` Michael S. Tsirkin
[not found] ` <20230921141125.GM13733@nvidia.com>
2023-09-21 14:16 ` Michael S. Tsirkin
[not found] ` <20230921164139.GP13733@nvidia.com>
2023-09-21 16:53 ` Michael S. Tsirkin
[not found] ` <20230921183926.GV13733@nvidia.com>
2023-09-21 19:13 ` Michael S. Tsirkin
[not found] ` <20230921194946.GX13733@nvidia.com>
2023-09-21 20:45 ` Michael S. Tsirkin
[not found] ` <20230921225526.GE13733@nvidia.com>
2023-09-22 3:02 ` Jason Wang
2023-09-22 11:23 ` Michael S. Tsirkin
2023-09-22 3:01 ` Jason Wang
[not found] ` <20230922121132.GK13733@nvidia.com>
2023-09-25 2:34 ` Jason Wang
[not found] ` <20230925122607.GW13733@nvidia.com>
2023-09-25 19:44 ` Michael S. Tsirkin
[not found] ` <20230926004059.GM13733@nvidia.com>
2023-09-26 5:34 ` Michael S. Tsirkin
2023-09-26 5:42 ` Michael S. Tsirkin
[not found] ` <20230926135057.GO13733@nvidia.com>
2023-09-27 21:38 ` Michael S. Tsirkin
[not found] ` <20230927232005.GE339126@nvidia.com>
2023-09-28 5:31 ` Michael S. Tsirkin
2023-09-26 4:37 ` Jason Wang
2023-09-26 5:33 ` Parav Pandit via Virtualization
2023-09-21 19:17 ` Michael S. Tsirkin
[not found] ` <20230921195115.GY13733@nvidia.com>
2023-09-21 20:55 ` Michael S. Tsirkin
2023-09-25 4:44 ` Zhu, Lingshan
2023-09-22 3:45 ` Zhu, Lingshan
2023-09-21 13:33 ` Michael S. Tsirkin
2023-09-21 16:43 ` Alex Williamson
[not found] ` <20230921165224.GR13733@nvidia.com>
2023-09-21 17:01 ` Michael S. Tsirkin
2023-09-21 17:09 ` Parav Pandit via Virtualization
2023-09-21 17:24 ` Michael S. Tsirkin
[not found] ` <20230921170709.GS13733@nvidia.com>
2023-09-21 17:21 ` Michael S. Tsirkin
[not found] ` <20230921174450.GT13733@nvidia.com>
2023-09-21 17:55 ` Michael S. Tsirkin
[not found] ` <20230921181637.GU13733@nvidia.com>
2023-09-21 19:34 ` Michael S. Tsirkin
[not found] ` <20230921195345.GZ13733@nvidia.com>
2023-09-21 20:16 ` Michael S. Tsirkin
2023-09-22 3:02 ` Jason Wang
[not found] ` <20230922122246.GN13733@nvidia.com>
2023-09-22 12:25 ` Parav Pandit via Virtualization
2023-09-22 15:13 ` Michael S. Tsirkin
[not found] ` <20230922151534.GR13733@nvidia.com>
2023-09-22 15:40 ` Michael S. Tsirkin
[not found] ` <20230922162233.GT13733@nvidia.com>
2023-09-25 17:36 ` Michael S. Tsirkin
2023-09-25 2:30 ` Jason Wang
2023-09-25 8:26 ` Parav Pandit via Virtualization
2023-09-25 18:36 ` Michael S. Tsirkin
2023-09-26 2:34 ` Zhu, Lingshan
2023-09-26 3:45 ` Parav Pandit via Virtualization
2023-09-26 4:37 ` Jason Wang
2023-10-12 10:52 ` Michael S. Tsirkin
2023-10-12 11:11 ` Parav Pandit via Virtualization
2023-10-12 11:30 ` Michael S. Tsirkin
2023-10-12 11:40 ` Parav Pandit via Virtualization
2023-09-26 2:32 ` Jason Wang
2023-09-26 4:01 ` Parav Pandit via Virtualization
2023-09-26 4:37 ` Jason Wang
2023-09-26 5:27 ` Parav Pandit via Virtualization
2023-09-26 11:49 ` Michael S. Tsirkin
2023-10-08 4:28 ` Jason Wang
[not found] ` <20230921224836.GD13733@nvidia.com>
2023-09-22 9:47 ` Michael S. Tsirkin [this message]
[not found] ` <20230922122328.GO13733@nvidia.com>
2023-09-22 15:45 ` Michael S. Tsirkin
2023-09-22 3:02 ` Jason Wang
[not found] ` <20230922122501.GP13733@nvidia.com>
2023-09-22 15:39 ` Michael S. Tsirkin
[not found] ` <20230922161928.GS13733@nvidia.com>
2023-09-25 18:16 ` Michael S. Tsirkin
[not found] ` <20230925185318.GK13733@nvidia.com>
2023-09-25 19:52 ` Michael S. Tsirkin
2023-09-21 19:58 ` Alex Williamson
[not found] ` <20230921200121.GA13733@nvidia.com>
2023-09-21 20:20 ` Michael S. Tsirkin
2023-09-21 20:59 ` Alex Williamson
[not found] ` <20230922123708.GA130749@nvidia.com>
2023-09-22 12:59 ` Parav Pandit via Virtualization
2023-09-26 15:20 ` Yishai Hadas via Virtualization
2023-09-26 17:00 ` Michael S. Tsirkin
2023-10-02 4:38 ` Parav Pandit via Virtualization
2023-09-22 10:10 ` Michael S. Tsirkin
2023-09-22 15:53 ` Michael S. Tsirkin
2023-10-02 11:23 ` Parav Pandit via Virtualization
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=20230922011918-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=jgg@nvidia.com \
--cc=jiri@nvidia.com \
--cc=kvm@vger.kernel.org \
--cc=leonro@nvidia.com \
--cc=maorg@nvidia.com \
--cc=virtualization@lists.linux-foundation.org \
/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;
as well as URLs for NNTP newsgroup(s).