From: Lu Baolu <baolu.lu@linux.intel.com> To: Joerg Roedel <joro@8bytes.org>, David Woodhouse <dwmw2@infradead.org> Cc: ashok.raj@intel.com, sanjay.k.kumar@intel.com, jacob.jun.pan@intel.com, kevin.tian@intel.com, yi.l.liu@intel.com, yi.y.sun@intel.com, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Lu Baolu <baolu.lu@linux.intel.com> Subject: [PATCH v3 0/9] iommu/vt-d: Improve PASID id and table management Date: Tue, 19 Jun 2018 13:17:20 +0800 [thread overview] Message-ID: <1529385449-25649-1-git-send-email-baolu.lu@linux.intel.com> (raw) Hi, This patch set improves the PASID id and PASID table management for Intel IOMMU driver. PATCH 1~3 replace per IOMMU idr name space with a global one. Current per IOMMU idr doesn't work in some cases where one application (associated with a PASID) might talk to two physical devices simultaneously while the two devices could reside behind two different IOMMU units. PATCH 4~9 implement per device PASID table. Current per IOMMU PASID table implementation is insecure in the cases where multiple devices under one single IOMMU unit support PASID feature. With per domain PASID table, we can achieve finer protection and isolation granularity. This has been discussed at https://lkml.org/lkml/2018/5/16/154. Best regards, Lu Baolu Change log: v1->v2: - Patches have been reviewed by "Liu Yi L <yi.l.liu@intel.com>". - An error case handling was added in PATCH 6/9. - Some commit messages are refined to be more accurate. v2->v3: - Patches rebased on top of v4.18-rc1. - Replace per-domain with per-device pasid table. Lu Baolu (9): iommu/vt-d: Global PASID name space iommu/vt-d: Avoid using idr_for_each_entry() iommu/vt-d: Apply global PASID in SVA iommu/vt-d: Move device_domain_info to header iommu/vt-d: Add for_each_device_domain() helper iommu/vt-d: Per PCI device pasid table interfaces iommu/vt-d: Allocate and free pasid table iommu/vt-d: Apply per pci device pasid table in SVA iommu/vt-d: Remove the obsolete per iommu pasid tables drivers/iommu/Makefile | 2 +- drivers/iommu/intel-iommu.c | 142 ++++++++++++-------------- drivers/iommu/intel-pasid.c | 238 ++++++++++++++++++++++++++++++++++++++++++++ drivers/iommu/intel-pasid.h | 39 ++++++++ drivers/iommu/intel-svm.c | 79 ++++++--------- include/linux/intel-iommu.h | 79 ++++++++++++++- 6 files changed, 447 insertions(+), 132 deletions(-) create mode 100644 drivers/iommu/intel-pasid.c create mode 100644 drivers/iommu/intel-pasid.h -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Lu Baolu <baolu.lu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> To: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>, David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> Cc: ashok.raj-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, sanjay.k.kumar-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, yi.y.sun-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, jacob.jun.pan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org Subject: [PATCH v3 0/9] iommu/vt-d: Improve PASID id and table management Date: Tue, 19 Jun 2018 13:17:20 +0800 [thread overview] Message-ID: <1529385449-25649-1-git-send-email-baolu.lu@linux.intel.com> (raw) Hi, This patch set improves the PASID id and PASID table management for Intel IOMMU driver. PATCH 1~3 replace per IOMMU idr name space with a global one. Current per IOMMU idr doesn't work in some cases where one application (associated with a PASID) might talk to two physical devices simultaneously while the two devices could reside behind two different IOMMU units. PATCH 4~9 implement per device PASID table. Current per IOMMU PASID table implementation is insecure in the cases where multiple devices under one single IOMMU unit support PASID feature. With per domain PASID table, we can achieve finer protection and isolation granularity. This has been discussed at https://lkml.org/lkml/2018/5/16/154. Best regards, Lu Baolu Change log: v1->v2: - Patches have been reviewed by "Liu Yi L <yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>". - An error case handling was added in PATCH 6/9. - Some commit messages are refined to be more accurate. v2->v3: - Patches rebased on top of v4.18-rc1. - Replace per-domain with per-device pasid table. Lu Baolu (9): iommu/vt-d: Global PASID name space iommu/vt-d: Avoid using idr_for_each_entry() iommu/vt-d: Apply global PASID in SVA iommu/vt-d: Move device_domain_info to header iommu/vt-d: Add for_each_device_domain() helper iommu/vt-d: Per PCI device pasid table interfaces iommu/vt-d: Allocate and free pasid table iommu/vt-d: Apply per pci device pasid table in SVA iommu/vt-d: Remove the obsolete per iommu pasid tables drivers/iommu/Makefile | 2 +- drivers/iommu/intel-iommu.c | 142 ++++++++++++-------------- drivers/iommu/intel-pasid.c | 238 ++++++++++++++++++++++++++++++++++++++++++++ drivers/iommu/intel-pasid.h | 39 ++++++++ drivers/iommu/intel-svm.c | 79 ++++++--------- include/linux/intel-iommu.h | 79 ++++++++++++++- 6 files changed, 447 insertions(+), 132 deletions(-) create mode 100644 drivers/iommu/intel-pasid.c create mode 100644 drivers/iommu/intel-pasid.h -- 2.7.4
next reply other threads:[~2018-06-19 5:27 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-06-19 5:17 Lu Baolu [this message] 2018-06-19 5:17 ` [PATCH v3 0/9] iommu/vt-d: Improve PASID id and table management Lu Baolu 2018-06-19 5:17 ` [PATCH v3 1/9] iommu/vt-d: Global PASID name space Lu Baolu 2018-06-19 5:17 ` [PATCH v3 2/9] iommu/vt-d: Avoid using idr_for_each_entry() Lu Baolu 2018-06-19 5:17 ` Lu Baolu 2018-06-19 5:17 ` [PATCH v3 3/9] iommu/vt-d: Apply global PASID in SVA Lu Baolu 2018-06-19 5:17 ` [PATCH v3 4/9] iommu/vt-d: Move device_domain_info to header Lu Baolu 2018-06-19 5:17 ` [PATCH v3 5/9] iommu/vt-d: Add for_each_device_domain() helper Lu Baolu 2018-06-19 5:17 ` [PATCH v3 6/9] iommu/vt-d: Per PCI device pasid table interfaces Lu Baolu 2018-06-19 5:17 ` [PATCH v3 7/9] iommu/vt-d: Allocate and free pasid table Lu Baolu 2018-06-19 5:17 ` [PATCH v3 8/9] iommu/vt-d: Apply per pci device pasid table in SVA Lu Baolu 2018-06-19 5:17 ` [PATCH v3 9/9] iommu/vt-d: Remove the obsolete per iommu pasid tables Lu Baolu 2018-07-06 12:31 ` [PATCH v3 0/9] iommu/vt-d: Improve PASID id and table management Joerg Roedel 2018-07-06 12:31 ` Joerg Roedel 2018-07-07 3:22 ` Lu Baolu 2018-07-07 3:22 ` Lu Baolu
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=1529385449-25649-1-git-send-email-baolu.lu@linux.intel.com \ --to=baolu.lu@linux.intel.com \ --cc=ashok.raj@intel.com \ --cc=dwmw2@infradead.org \ --cc=iommu@lists.linux-foundation.org \ --cc=jacob.jun.pan@intel.com \ --cc=joro@8bytes.org \ --cc=kevin.tian@intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=sanjay.k.kumar@intel.com \ --cc=yi.l.liu@intel.com \ --cc=yi.y.sun@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: 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.