From: Jason Gunthorpe <jgg@nvidia.com> To: "Tian, Kevin" <kevin.tian@intel.com> Cc: "Martins, Joao" <joao.m.martins@oracle.com>, Joerg Roedel <joro@8bytes.org>, Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>, Will Deacon <will@kernel.org>, Robin Murphy <robin.murphy@arm.com>, Jean-Philippe Brucker <jean-philippe@linaro.org>, Keqian Zhu <zhukeqian1@huawei.com>, Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>, David Woodhouse <dwmw2@infradead.org>, Lu Baolu <baolu.lu@linux.intel.com>, Nicolin Chen <nicolinc@nvidia.com>, Yishai Hadas <yishaih@nvidia.com>, Eric Auger <eric.auger@redhat.com>, "Liu, Yi L" <yi.l.liu@intel.com>, Alex Williamson <alex.williamson@redhat.com>, Cornelia Huck <cohuck@redhat.com>, "kvm@vger.kernel.org" <kvm@vger.kernel.org>, "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org> Subject: Re: [PATCH RFC 00/19] IOMMUFD Dirty Tracking Date: Fri, 6 May 2022 08:46:08 -0300 [thread overview] Message-ID: <20220506114608.GZ49344@nvidia.com> (raw) In-Reply-To: <BN9PR11MB5276EACB65E108ECD4E206A38CC59@BN9PR11MB5276.namprd11.prod.outlook.com> On Fri, May 06, 2022 at 03:51:40AM +0000, Tian, Kevin wrote: > > From: Jason Gunthorpe <jgg@nvidia.com> > > Sent: Thursday, May 5, 2022 10:08 PM > > > > On Thu, May 05, 2022 at 07:40:37AM +0000, Tian, Kevin wrote: > > > > > In concept this is an iommu property instead of a domain property. > > > > Not really, domains shouldn't be changing behaviors once they are > > created. If a domain supports dirty tracking and I attach a new device > > then it still must support dirty tracking. > > That sort of suggests that userspace should specify whether a domain > supports dirty tracking when it's created. But how does userspace > know that it should create the domain in this way in the first place? > live migration is triggered on demand and it may not happen in the > lifetime of a VM. The best you could do is to look at the devices being plugged in at VM startup, and if they all support live migration then request dirty tracking, otherwise don't. However, tt costs nothing to have dirty tracking as long as all iommus support it in the system - which seems to be the normal case today. We should just always turn it on at this point. > and if the user always creates domain to allow dirty tracking by default, > how does it know a failed attach is due to missing dirty tracking support > by the IOMMU and then creates another domain which disables dirty > tracking and retry-attach again? The automatic logic is complicated for sure, if you had a device flag it would have to figure it out that way Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe via iommu <iommu@lists.linux-foundation.org> To: "Tian, Kevin" <kevin.tian@intel.com> Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>, Yishai Hadas <yishaih@nvidia.com>, "kvm@vger.kernel.org" <kvm@vger.kernel.org>, Will Deacon <will@kernel.org>, Cornelia Huck <cohuck@redhat.com>, "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>, Alex Williamson <alex.williamson@redhat.com>, "Martins, Joao" <joao.m.martins@oracle.com>, David Woodhouse <dwmw2@infradead.org>, Robin Murphy <robin.murphy@arm.com> Subject: Re: [PATCH RFC 00/19] IOMMUFD Dirty Tracking Date: Fri, 6 May 2022 08:46:08 -0300 [thread overview] Message-ID: <20220506114608.GZ49344@nvidia.com> (raw) In-Reply-To: <BN9PR11MB5276EACB65E108ECD4E206A38CC59@BN9PR11MB5276.namprd11.prod.outlook.com> On Fri, May 06, 2022 at 03:51:40AM +0000, Tian, Kevin wrote: > > From: Jason Gunthorpe <jgg@nvidia.com> > > Sent: Thursday, May 5, 2022 10:08 PM > > > > On Thu, May 05, 2022 at 07:40:37AM +0000, Tian, Kevin wrote: > > > > > In concept this is an iommu property instead of a domain property. > > > > Not really, domains shouldn't be changing behaviors once they are > > created. If a domain supports dirty tracking and I attach a new device > > then it still must support dirty tracking. > > That sort of suggests that userspace should specify whether a domain > supports dirty tracking when it's created. But how does userspace > know that it should create the domain in this way in the first place? > live migration is triggered on demand and it may not happen in the > lifetime of a VM. The best you could do is to look at the devices being plugged in at VM startup, and if they all support live migration then request dirty tracking, otherwise don't. However, tt costs nothing to have dirty tracking as long as all iommus support it in the system - which seems to be the normal case today. We should just always turn it on at this point. > and if the user always creates domain to allow dirty tracking by default, > how does it know a failed attach is due to missing dirty tracking support > by the IOMMU and then creates another domain which disables dirty > tracking and retry-attach again? The automatic logic is complicated for sure, if you had a device flag it would have to figure it out that way Jason _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2022-05-06 11:46 UTC|newest] Thread overview: 209+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-28 21:09 [PATCH RFC 00/19] IOMMUFD Dirty Tracking Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 01/19] iommu: Add iommu_domain ops for dirty tracking Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 7:54 ` Tian, Kevin 2022-04-29 7:54 ` Tian, Kevin 2022-04-29 10:44 ` Joao Martins 2022-04-29 10:44 ` Joao Martins 2022-04-29 12:08 ` Jason Gunthorpe 2022-04-29 12:08 ` Jason Gunthorpe via iommu 2022-04-29 14:26 ` Joao Martins 2022-04-29 14:26 ` Joao Martins 2022-04-29 14:35 ` Jason Gunthorpe 2022-04-29 14:35 ` Jason Gunthorpe via iommu 2022-04-29 13:40 ` Baolu Lu 2022-04-29 13:40 ` Baolu Lu 2022-04-29 15:27 ` Joao Martins 2022-04-29 15:27 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 02/19] iommufd: Dirty tracking for io_pagetable Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 8:07 ` Tian, Kevin 2022-04-29 8:07 ` Tian, Kevin 2022-04-29 10:48 ` Joao Martins 2022-04-29 10:48 ` Joao Martins 2022-04-29 11:56 ` Jason Gunthorpe 2022-04-29 11:56 ` Jason Gunthorpe via iommu 2022-04-29 14:28 ` Joao Martins 2022-04-29 14:28 ` Joao Martins 2022-04-29 23:51 ` Baolu Lu 2022-04-29 23:51 ` Baolu Lu 2022-05-02 11:57 ` Joao Martins 2022-05-02 11:57 ` Joao Martins 2022-08-29 10:01 ` Shameerali Kolothum Thodi 2022-04-28 21:09 ` [PATCH RFC 03/19] iommufd: Dirty tracking data support Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 8:12 ` Tian, Kevin 2022-04-29 8:12 ` Tian, Kevin 2022-04-29 10:54 ` Joao Martins 2022-04-29 10:54 ` Joao Martins 2022-04-29 12:09 ` Jason Gunthorpe 2022-04-29 12:09 ` Jason Gunthorpe via iommu 2022-04-29 14:33 ` Joao Martins 2022-04-29 14:33 ` Joao Martins 2022-04-30 4:11 ` Baolu Lu 2022-04-30 4:11 ` Baolu Lu 2022-05-02 12:06 ` Joao Martins 2022-05-02 12:06 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 04/19] iommu: Add an unmap API that returns dirtied IOPTEs Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-30 5:12 ` Baolu Lu 2022-04-30 5:12 ` Baolu Lu 2022-05-02 12:22 ` Joao Martins 2022-05-02 12:22 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 05/19] iommufd: Add a dirty bitmap to iopt_unmap_iova() Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 12:14 ` Jason Gunthorpe 2022-04-29 12:14 ` Jason Gunthorpe via iommu 2022-04-29 14:36 ` Joao Martins 2022-04-29 14:36 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 06/19] iommufd: Dirty tracking IOCTLs for the hw_pagetable Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 07/19] iommufd/vfio-compat: Dirty tracking IOCTLs compatibility Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 12:19 ` Jason Gunthorpe 2022-04-29 12:19 ` Jason Gunthorpe via iommu 2022-04-29 14:27 ` Joao Martins 2022-04-29 14:27 ` Joao Martins 2022-04-29 14:36 ` Jason Gunthorpe via iommu 2022-04-29 14:36 ` Jason Gunthorpe 2022-04-29 14:52 ` Joao Martins 2022-04-29 14:52 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 08/19] iommufd: Add a test for dirty tracking ioctls Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 09/19] iommu/amd: Access/Dirty bit support in IOPTEs Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-05-31 11:34 ` Suravee Suthikulpanit via iommu 2022-05-31 11:34 ` Suravee Suthikulpanit 2022-05-31 12:15 ` Baolu Lu 2022-05-31 12:15 ` Baolu Lu 2022-05-31 15:22 ` Joao Martins 2022-05-31 15:22 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 10/19] iommu/amd: Add unmap_read_dirty() support Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-05-31 12:39 ` Suravee Suthikulpanit 2022-05-31 12:39 ` Suravee Suthikulpanit via iommu 2022-05-31 15:51 ` Joao Martins 2022-05-31 15:51 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 11/19] iommu/amd: Print access/dirty bits if supported Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 12/19] iommu/arm-smmu-v3: Add feature detection for HTTU Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 13/19] iommu/arm-smmu-v3: Add feature detection for BBML Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 11:11 ` Robin Murphy 2022-04-29 11:11 ` Robin Murphy 2022-04-29 11:54 ` Joao Martins 2022-04-29 11:54 ` Joao Martins 2022-04-29 12:26 ` Robin Murphy 2022-04-29 12:26 ` Robin Murphy 2022-04-29 14:34 ` Joao Martins 2022-04-29 14:34 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 14/19] iommu/arm-smmu-v3: Add read_and_clear_dirty() support Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-08-29 9:59 ` Shameerali Kolothum Thodi 2022-04-28 21:09 ` [PATCH RFC 15/19] iommu/arm-smmu-v3: Add set_dirty_tracking_range() support Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 8:28 ` Tian, Kevin 2022-04-29 8:28 ` Tian, Kevin 2022-04-29 11:05 ` Joao Martins 2022-04-29 11:05 ` Joao Martins 2022-04-29 11:19 ` Robin Murphy 2022-04-29 11:19 ` Robin Murphy 2022-04-29 12:06 ` Joao Martins 2022-04-29 12:06 ` Joao Martins 2022-04-29 12:23 ` Jason Gunthorpe 2022-04-29 12:23 ` Jason Gunthorpe via iommu 2022-04-29 14:45 ` Joao Martins 2022-04-29 14:45 ` Joao Martins 2022-04-29 16:11 ` Jason Gunthorpe 2022-04-29 16:11 ` Jason Gunthorpe via iommu 2022-04-29 16:40 ` Joao Martins 2022-04-29 16:40 ` Joao Martins 2022-04-29 16:46 ` Jason Gunthorpe 2022-04-29 16:46 ` Jason Gunthorpe via iommu 2022-04-29 19:20 ` Robin Murphy 2022-04-29 19:20 ` Robin Murphy 2022-05-02 11:52 ` Joao Martins 2022-05-02 11:52 ` Joao Martins 2022-05-02 11:57 ` Joao Martins 2022-05-02 11:57 ` Joao Martins 2022-05-05 7:25 ` Shameerali Kolothum Thodi 2022-05-05 7:25 ` Shameerali Kolothum Thodi via iommu 2022-05-05 9:52 ` Joao Martins 2022-05-05 9:52 ` Joao Martins 2022-08-29 9:59 ` Shameerali Kolothum Thodi 2022-08-29 10:00 ` Shameerali Kolothum Thodi 2022-04-28 21:09 ` [PATCH RFC 16/19] iommu/arm-smmu-v3: Enable HTTU for stage1 with io-pgtable mapping Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 11:35 ` Robin Murphy 2022-04-29 11:35 ` Robin Murphy 2022-04-29 12:10 ` Joao Martins 2022-04-29 12:10 ` Joao Martins 2022-04-29 12:46 ` Robin Murphy 2022-04-29 12:46 ` Robin Murphy 2022-08-29 10:00 ` Shameerali Kolothum Thodi 2022-04-28 21:09 ` [PATCH RFC 17/19] iommu/arm-smmu-v3: Add unmap_read_dirty() support Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 11:53 ` Robin Murphy 2022-04-29 11:53 ` Robin Murphy 2022-04-28 21:09 ` [PATCH RFC 18/19] iommu/intel: Access/Dirty bit support for SL domains Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 9:03 ` Tian, Kevin 2022-04-29 9:03 ` Tian, Kevin 2022-04-29 11:20 ` Joao Martins 2022-04-29 11:20 ` Joao Martins 2022-04-30 6:12 ` Baolu Lu 2022-04-30 6:12 ` Baolu Lu 2022-05-02 12:24 ` Joao Martins 2022-05-02 12:24 ` Joao Martins 2022-04-28 21:09 ` [PATCH RFC 19/19] iommu/intel: Add unmap_read_dirty() support Joao Martins 2022-04-28 21:09 ` Joao Martins 2022-04-29 5:45 ` [PATCH RFC 00/19] IOMMUFD Dirty Tracking Tian, Kevin 2022-04-29 5:45 ` Tian, Kevin 2022-04-29 10:27 ` Joao Martins 2022-04-29 10:27 ` Joao Martins 2022-04-29 12:38 ` Jason Gunthorpe 2022-04-29 12:38 ` Jason Gunthorpe via iommu 2022-04-29 15:20 ` Joao Martins 2022-04-29 15:20 ` Joao Martins 2022-05-05 7:40 ` Tian, Kevin 2022-05-05 7:40 ` Tian, Kevin 2022-05-05 14:07 ` Jason Gunthorpe 2022-05-05 14:07 ` Jason Gunthorpe via iommu 2022-05-06 3:51 ` Tian, Kevin 2022-05-06 3:51 ` Tian, Kevin 2022-05-06 11:46 ` Jason Gunthorpe [this message] 2022-05-06 11:46 ` Jason Gunthorpe via iommu 2022-05-10 1:38 ` Tian, Kevin 2022-05-10 1:38 ` Tian, Kevin 2022-05-10 11:50 ` Joao Martins 2022-05-10 11:50 ` Joao Martins 2022-05-11 1:17 ` Tian, Kevin 2022-05-11 1:17 ` Tian, Kevin 2022-05-10 13:46 ` Jason Gunthorpe via iommu 2022-05-10 13:46 ` Jason Gunthorpe 2022-05-11 1:10 ` Tian, Kevin 2022-05-11 1:10 ` Tian, Kevin 2022-07-12 18:34 ` Joao Martins 2022-07-21 14:24 ` Jason Gunthorpe 2022-05-02 18:11 ` Alex Williamson 2022-05-02 18:11 ` Alex Williamson 2022-05-02 18:52 ` Jason Gunthorpe 2022-05-02 18:52 ` Jason Gunthorpe via iommu 2022-05-03 10:48 ` Joao Martins 2022-05-03 10:48 ` Joao Martins 2022-05-05 7:42 ` Tian, Kevin 2022-05-05 7:42 ` Tian, Kevin 2022-05-05 10:06 ` Joao Martins 2022-05-05 10:06 ` Joao Martins 2022-05-05 11:03 ` Tian, Kevin 2022-05-05 11:03 ` Tian, Kevin 2022-05-05 11:50 ` Joao Martins 2022-05-05 11:50 ` Joao Martins 2022-05-06 3:14 ` Tian, Kevin 2022-05-06 3:14 ` Tian, Kevin 2022-05-05 13:55 ` Jason Gunthorpe 2022-05-05 13:55 ` Jason Gunthorpe via iommu 2022-05-06 3:17 ` Tian, Kevin 2022-05-06 3:17 ` Tian, Kevin
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=20220506114608.GZ49344@nvidia.com \ --to=jgg@nvidia.com \ --cc=alex.williamson@redhat.com \ --cc=baolu.lu@linux.intel.com \ --cc=cohuck@redhat.com \ --cc=dwmw2@infradead.org \ --cc=eric.auger@redhat.com \ --cc=iommu@lists.linux-foundation.org \ --cc=jean-philippe@linaro.org \ --cc=joao.m.martins@oracle.com \ --cc=joro@8bytes.org \ --cc=kevin.tian@intel.com \ --cc=kvm@vger.kernel.org \ --cc=nicolinc@nvidia.com \ --cc=robin.murphy@arm.com \ --cc=shameerali.kolothum.thodi@huawei.com \ --cc=suravee.suthikulpanit@amd.com \ --cc=will@kernel.org \ --cc=yi.l.liu@intel.com \ --cc=yishaih@nvidia.com \ --cc=zhukeqian1@huawei.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: linkBe 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.