virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
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 07:23:28 -0400	[thread overview]
Message-ID: <20230922064957-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230921225526.GE13733@nvidia.com>

On Thu, Sep 21, 2023 at 07:55:26PM -0300, Jason Gunthorpe wrote:
> On Thu, Sep 21, 2023 at 04:45:45PM -0400, Michael S. Tsirkin wrote:
> > On Thu, Sep 21, 2023 at 04:49:46PM -0300, Jason Gunthorpe wrote:
> > > On Thu, Sep 21, 2023 at 03:13:10PM -0400, Michael S. Tsirkin wrote:
> > > > On Thu, Sep 21, 2023 at 03:39:26PM -0300, Jason Gunthorpe wrote:
> > > > > On Thu, Sep 21, 2023 at 12:53:04PM -0400, Michael S. Tsirkin wrote:
> > > > > > > vdpa is not vfio, I don't know how you can suggest vdpa is a
> > > > > > > replacement for a vfio driver. They are completely different
> > > > > > > things.
> > > > > > > Each side has its own strengths, and vfio especially is accelerating
> > > > > > > in its capability in way that vpda is not. eg if an iommufd conversion
> > > > > > > had been done by now for vdpa I might be more sympathetic.
> > > > > > 
> > > > > > Yea, I agree iommufd is a big problem with vdpa right now. Cindy was
> > > > > > sick and I didn't know and kept assuming she's working on this. I don't
> > > > > > think it's a huge amount of work though.  I'll take a look.
> > > > > > Is there anything else though? Do tell.
> > > > > 
> > > > > Confidential compute will never work with VDPA's approach.
> > > > 
> > > > I don't see how what this patchset is doing is different
> > > > wrt to Confidential compute - you trap IO accesses and emulate.
> > > > Care to elaborate?
> > > 
> > > This patch series isn't about confidential compute, you asked about
> > > the future. VFIO will support confidential compute in the future, VDPA
> > > will not.
> > 
> > Nonsense it already works.
> 
> That isn't what I'm talking about. With a real PCI function and TDISP
> we can actually DMA directly from the guest's memory without needing
> the ugly bounce buffer hack. Then you can get decent performance.

Aha, TDISP.  But that one clearly does not need and can not use
this kind of hack?

> > But I did not ask about the future since I do not believe it
> > can be confidently predicted. I asked what is missing in VDPA
> > now for you to add this feature there and not in VFIO.
> 
> I don't see that VDPA needs this, VDPA should process the IO BAR on
> its own with its own logic, just like everything else it does.

First there's some logic here such as translating legacy IO
offsets to modern ones that could be reused.

But also, this is not just IO BAR, that indeed can be easily done in
software.  When a device operates in legacy mode there are subtle
differences with modern mode such as a different header size for the net
device.

> This is specifically about avoiding mediation by relaying directly the
> IO BAR operations to the device itself.
> 
> That is the entire irony, this whole scheme was designed and
> standardized *specifically* to avoid complex mediation and here you
> are saying we should just use mediation.
> 
> Jason

Not exactly. What I had in mind is just having the logic in
the vdpa module so users don't need to know what does the device
support and what it doesn't. If we can we bypass mediation
(to simplify the software stack) if we can not we do not.

Looking at it from user's POV, it is just super confusing that
card ABC would need to be used with VDPA to drive legacy while
card DEF needs to be used with VFIO. And both VFIO and VDPA
will happily bind, too. Oh man ...


-- 
MST

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  parent reply	other threads:[~2023-09-22 11:23 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 [this message]
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
     [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=20230922064957-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).