iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2 0/4] arm-smmu-v3 tlbi-on-map option
@ 2017-08-11 13:45 Eric Auger
       [not found] ` <1502459130-6234-1-git-send-email-eric.auger-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2017-08-11 13:45 ` [RFC v2 3/4] iommu/arm-smmu-v3: Add hypothetical caching mode model Eric Auger
  0 siblings, 2 replies; 19+ messages in thread
From: Eric Auger @ 2017-08-11 13:45 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, iommu, linux-kernel, Will.Deacon,
	robin.murphy, Jean-Philippe.Brucker
  Cc: christoffer.dall, Marc.Zyngier, alex.williamson, peterx, mst, tn,
	bharat.bhushan

This series adds a new tlbi-on-map option to the smmuv3 driver.
When set, the IO_PGTABLE_QUIRK_TLBI_ON_MAP quirk is applied for
LPAE tables and the smmuv3 driver sends TLB invalidations on map.

This mode is useful when running the driver on a guest as it allows
the virtualizer to trap any change to the translation structures.
This is similar to the Intel vtd caching mode (CM).

This is mandated for vSMMUv3/VFIO integration where guest mappings
must be applied to the physical IOMMU and also for VHOST.

When this mode is set we use an implementation defined TLBI
invalidation command which allows to invalidate a range of IOVA
instead of using CMD_TLBI_NH_VA which works by page. This
is needed for sake of efficiency when running DPDK use case on
guest as DPDK uses hugepages. As far as I understand the intel
IOMMU provides such invalidation command (using the address mask
parameter) and at the moment, I haven't found something similar
in the smmuv3 architecture specification.

Best Regards

Eric

Git: complete series available at
https://github.com/eauger/linux/tree/v4.13-rc3-tlbi-on-map-rfcv2

History:
v1 -> v2:
- add support for ACPI probing
- add implementation defined CMD_TLBI_NH_VA_AM which allows
  IOVA range invalidation


Eric Auger (4):
  iommu/io-pgtable-arm: flush TLBs when IO_PGTABLE_QUIRK_TLBI_ON_MAP
  iommu/arm-smmu-v3: Add tlbi_on_map option
  iommu/arm-smmu-v3: Add hypothetical caching mode model
  iommu/arm-smmu-v3: add CMD_TLBI_NH_VA_AM command for iova range
    invalidation

 .../devicetree/bindings/iommu/arm,smmu-v3.txt      |  4 +++
 drivers/iommu/arm-smmu-v3.c                        | 34 ++++++++++++++++++++--
 drivers/iommu/io-pgtable-arm.c                     | 14 +++++++--
 3 files changed, 48 insertions(+), 4 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-10-05 15:14 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-11 13:45 [RFC v2 0/4] arm-smmu-v3 tlbi-on-map option Eric Auger
     [not found] ` <1502459130-6234-1-git-send-email-eric.auger-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-08-11 13:45   ` [RFC v2 1/4] iommu/io-pgtable-arm: flush TLBs when IO_PGTABLE_QUIRK_TLBI_ON_MAP Eric Auger
2017-08-11 13:45   ` [RFC v2 2/4] iommu/arm-smmu-v3: Add tlbi_on_map option Eric Auger
2017-08-17 16:34     ` Will Deacon
     [not found]       ` <20170817163424.GC30719-5wv7dgnIgG8@public.gmane.org>
2017-08-17 17:47         ` Auger Eric
     [not found]           ` <d502e172-5e98-cbbb-6a72-db32c71006fc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-08-18  2:54             ` Michael S. Tsirkin
     [not found]               ` <20170818055031-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-08-18  6:50                 ` Auger Eric
2017-08-18  2:49         ` Michael S. Tsirkin
2017-08-22 19:09           ` Michael S. Tsirkin
     [not found]             ` <20170822220457-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-08-23 10:25               ` Will Deacon
2017-08-23 12:36                 ` Auger Eric
     [not found]                   ` <cc18b752-97fd-f95f-fdef-478adc06e505-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-08-23 14:12                     ` Michael S. Tsirkin
2017-08-23 16:42                     ` Will Deacon
     [not found]                       ` <20170823164255.GB590-5wv7dgnIgG8@public.gmane.org>
2017-08-23 19:43                         ` Michael S. Tsirkin
2017-08-24  7:09                       ` Auger Eric
2017-10-05 15:14                       ` Auger Eric
2017-08-23 14:05                 ` Michael S. Tsirkin
2017-08-11 13:45   ` [RFC v2 4/4] iommu/arm-smmu-v3: add CMD_TLBI_NH_VA_AM command for iova range invalidation Eric Auger
2017-08-11 13:45 ` [RFC v2 3/4] iommu/arm-smmu-v3: Add hypothetical caching mode model Eric Auger

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).