From: Jason Gunthorpe <jgg@nvidia.com>
To: "Duan, Zhenzhong" <zhenzhong.duan@intel.com>
Cc: Matthew Rosato <mjrosato@linux.ibm.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"clg@redhat.com" <clg@redhat.com>,
"nicolinc@nvidia.com" <nicolinc@nvidia.com>,
"Martins, Joao" <joao.m.martins@oracle.com>,
"eric.auger@redhat.com" <eric.auger@redhat.com>,
"peterx@redhat.com" <peterx@redhat.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"Tian, Kevin" <kevin.tian@intel.com>,
"Liu, Yi L" <yi.l.liu@intel.com>,
"Sun, Yi Y" <yi.y.sun@intel.com>,
"Peng, Chao P" <chao.p.peng@intel.com>,
Thomas Huth <thuth@redhat.com>,
Eric Farman <farman@linux.ibm.com>,
Halil Pasic <pasic@linux.ibm.com>,
"Jason J. Herne" <jjherne@linux.ibm.com>,
Tony Krowiak <akrowiak@linux.ibm.com>
Subject: Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend
Date: Wed, 8 Nov 2023 10:19:20 -0400 [thread overview]
Message-ID: <20231108141920.GT4488@nvidia.com> (raw)
In-Reply-To: <SJ0PR11MB674482451CB0D2A7BB4DC20292A8A@SJ0PR11MB6744.namprd11.prod.outlook.com>
On Wed, Nov 08, 2023 at 01:25:34PM +0000, Duan, Zhenzhong wrote:
> >I was expecting that hwpt manipulation would be done exclusively
> >inside the device-specific vIOMMU userspace driver. Generic code paths
> >that don't have that knowledge should use the IOAS for everything
>
> Yes, this way we don't need to distinguish between mdev and real device,
> just attach to IOAS. But lose the benefit that same hwpt could be passed
> into vIOMMU to be used as S2 hwpt in nesting.
If you have a nesting capable vIOMMU driver then it should be
creating the HWPTs and managing them in its layer. Maybe the core code
provides some helpers.
Obviously you can't link a mdev to a nesting vIOMMU driver in the
first place. Mdev should be connected to a different IOMMU driver that
doesn't use HWPT at all.
I think it will make alot of trouble to put the hwpt in the wrong
layer as there shouldn't really be much generic code touching it.
Jason
next prev parent reply other threads:[~2023-11-08 14:20 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-02 7:12 [PATCH v4 00/41] vfio: Adopt iommufd Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 01/41] vfio/container: Move IBM EEH related functions into spapr_pci_vfio.c Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 02/41] vfio/container: Move vfio_container_add/del_section_window into spapr.c Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 03/41] vfio/container: Move spapr specific init/deinit " Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 04/41] vfio/spapr: Make vfio_spapr_create/remove_window static Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 05/41] vfio/common: Move vfio_host_win_add/del into spapr.c Zhenzhong Duan
2023-11-06 9:33 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 06/41] vfio: Introduce base object for VFIOContainer and targeted interface Zhenzhong Duan
2023-11-06 16:36 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 07/41] vfio/container: Introduce a empty VFIOIOMMUOps Zhenzhong Duan
2023-11-06 16:36 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 08/41] vfio/container: Switch to dma_map|unmap API Zhenzhong Duan
2023-11-06 16:37 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 09/41] vfio/common: Introduce vfio_container_init/destroy helper Zhenzhong Duan
2023-11-06 16:37 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 10/41] vfio/common: Move giommu_list in base container Zhenzhong Duan
2023-11-06 16:50 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 11/41] vfio/container: Move space field to " Zhenzhong Duan
2023-11-06 16:50 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 12/41] vfio/container: Switch to IOMMU BE set_dirty_page_tracking/query_dirty_bitmap API Zhenzhong Duan
2023-11-06 16:50 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 13/41] vfio/container: Move per container device list in base container Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 14/41] vfio/container: Convert functions to " Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 15/41] vfio/container: Move pgsizes and dma_max_mappings " Zhenzhong Duan
2023-11-06 16:53 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 16/41] vfio/container: Move vrdl_list " Zhenzhong Duan
2023-11-06 16:53 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 17/41] vfio/container: Move listener " Zhenzhong Duan
2023-11-06 16:57 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 18/41] vfio/container: Move dirty_pgsizes and max_dirty_bitmap_size " Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 19/41] vfio/container: Move iova_ranges " Zhenzhong Duan
2023-11-06 16:58 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 20/41] vfio/container: Implement attach/detach_device Zhenzhong Duan
2023-11-06 16:59 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 21/41] vfio/spapr: Introduce spapr backend and target interface Zhenzhong Duan
2023-11-06 17:30 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 22/41] vfio/spapr: switch to spapr IOMMU BE add/del_section_window Zhenzhong Duan
2023-11-06 17:33 ` Cédric Le Goater
2023-11-07 3:06 ` Duan, Zhenzhong
2023-11-07 13:07 ` Cédric Le Goater
2023-11-07 17:34 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 23/41] vfio/spapr: Move prereg_listener into spapr container Zhenzhong Duan
2023-11-06 17:34 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 24/41] vfio/spapr: Move hostwin_list " Zhenzhong Duan
2023-11-06 17:35 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 25/41] Add iommufd configure option Zhenzhong Duan
2023-11-07 13:14 ` Cédric Le Goater
2023-11-07 14:37 ` Cédric Le Goater
2023-11-08 6:08 ` Duan, Zhenzhong
2023-11-02 7:12 ` [PATCH v4 26/41] backends/iommufd: Introduce the iommufd object Zhenzhong Duan
2023-11-07 13:33 ` Cédric Le Goater
2023-11-08 3:35 ` Duan, Zhenzhong
2023-11-08 9:40 ` Cédric Le Goater
2023-11-08 9:43 ` Duan, Zhenzhong
2023-11-08 5:50 ` Markus Armbruster
2023-11-08 10:03 ` Cédric Le Goater
2023-11-08 10:30 ` Markus Armbruster
2023-11-08 13:48 ` Cédric Le Goater
2023-11-09 9:05 ` Markus Armbruster
2023-11-10 2:03 ` Duan, Zhenzhong
2023-11-14 9:40 ` Cédric Le Goater
2023-11-14 10:18 ` Duan, Zhenzhong
2023-11-02 7:12 ` [PATCH v4 27/41] util/char_dev: Add open_cdev() Zhenzhong Duan
2023-11-07 13:37 ` Cédric Le Goater
2023-11-08 4:29 ` Duan, Zhenzhong
2023-11-02 7:12 ` [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend Zhenzhong Duan
2023-11-07 13:41 ` Cédric Le Goater
2023-11-08 5:45 ` Duan, Zhenzhong
2023-11-08 2:59 ` Matthew Rosato
2023-11-08 7:16 ` Duan, Zhenzhong
2023-11-08 12:48 ` Jason Gunthorpe
2023-11-08 13:25 ` Duan, Zhenzhong
2023-11-08 14:19 ` Jason Gunthorpe [this message]
2023-11-09 2:45 ` Duan, Zhenzhong
2023-11-09 12:17 ` Joao Martins
2023-11-09 12:57 ` Jason Gunthorpe
2023-11-09 12:59 ` Joao Martins
2023-11-09 13:03 ` Joao Martins
2023-11-09 13:09 ` Jason Gunthorpe
2023-11-09 13:21 ` Joao Martins
2023-11-09 14:34 ` Jason Gunthorpe
2023-11-10 3:15 ` Duan, Zhenzhong
2023-11-10 13:09 ` Joao Martins
2023-11-13 3:17 ` Duan, Zhenzhong
2023-11-02 7:12 ` [PATCH v4 29/41] vfio/iommufd: Relax assert check for " Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 30/41] vfio/iommufd: Add support for iova_ranges Zhenzhong Duan
2023-11-06 17:19 ` Cédric Le Goater
2023-11-07 3:07 ` Duan, Zhenzhong
2023-11-02 7:12 ` [PATCH v4 31/41] vfio/pci: Extract out a helper vfio_pci_get_pci_hot_reset_info Zhenzhong Duan
2023-11-07 13:48 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 32/41] vfio/pci: Introduce a vfio pci hot reset interface Zhenzhong Duan
2023-11-07 13:52 ` Cédric Le Goater
2023-11-08 5:46 ` Duan, Zhenzhong
2023-11-02 7:12 ` [PATCH v4 33/41] vfio/iommufd: Enable pci hot reset through iommufd cdev interface Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 34/41] vfio/pci: Allow the selection of a given iommu backend Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 35/41] vfio/pci: Make vfio cdev pre-openable by passing a file handle Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 36/41] vfio: Allow the selection of a given iommu backend for platform ap and ccw Zhenzhong Duan
2023-11-07 18:18 ` Cédric Le Goater
2023-11-02 7:12 ` [PATCH v4 37/41] vfio/platform: Make vfio cdev pre-openable by passing a file handle Zhenzhong Duan
2023-11-02 7:12 ` [PATCH v4 38/41] vfio/ap: " Zhenzhong Duan
2023-11-07 18:19 ` Cédric Le Goater
2023-11-02 7:13 ` [PATCH v4 39/41] vfio/ccw: " Zhenzhong Duan
2023-11-07 18:20 ` Cédric Le Goater
2023-11-02 7:13 ` [PATCH v4 40/41] vfio: Make VFIOContainerBase poiner parameter const in VFIOIOMMUOps callbacks Zhenzhong Duan
2023-11-02 7:13 ` [PATCH v4 41/41] vfio: Compile out iommufd for PPC target Zhenzhong Duan
2023-11-07 13:44 ` Cédric Le Goater
2023-11-08 4:31 ` Duan, Zhenzhong
2023-11-06 14:23 ` [PATCH v4 00/41] vfio: Adopt iommufd Cédric Le Goater
2023-11-07 18:28 ` Cédric Le Goater
2023-11-08 3:26 ` Matthew Rosato
2023-11-08 8:37 ` Duan, Zhenzhong
2023-11-08 9:07 ` Duan, Zhenzhong
2023-11-08 9:23 ` Cédric Le Goater
2023-11-08 9:21 ` Cédric Le Goater
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=20231108141920.GT4488@nvidia.com \
--to=jgg@nvidia.com \
--cc=akrowiak@linux.ibm.com \
--cc=alex.williamson@redhat.com \
--cc=chao.p.peng@intel.com \
--cc=clg@redhat.com \
--cc=eric.auger@redhat.com \
--cc=farman@linux.ibm.com \
--cc=jasowang@redhat.com \
--cc=jjherne@linux.ibm.com \
--cc=joao.m.martins@oracle.com \
--cc=kevin.tian@intel.com \
--cc=mjrosato@linux.ibm.com \
--cc=nicolinc@nvidia.com \
--cc=pasic@linux.ibm.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=yi.l.liu@intel.com \
--cc=yi.y.sun@intel.com \
--cc=zhenzhong.duan@intel.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;
as well as URLs for NNTP newsgroup(s).