Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1337555

Re: [RFC v3 07/15] iommu: iommu_get/put_single_reserved

From Eric Auger <eric.auger@linaro.org>
Newsgroups linux.kernel
Subject Re: [RFC v3 07/15] iommu: iommu_get/put_single_reserved
Date 2016-02-18 18:20 +0100
Message-ID <r3Apd-pQ-39@gated-at.bofh.it> (permalink)
References <r1h7j-4kD-3@gated-at.bofh.it> <r1h7l-4kD-31@gated-at.bofh.it> <r3uD8-4Bz-17@gated-at.bofh.it> <r3zWb-8pq-27@gated-at.bofh.it> <r3A5Q-8tj-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Marc,
On 02/18/2016 05:51 PM, Marc Zyngier wrote:
> On 18/02/16 16:42, Eric Auger wrote:
>> Hello,
>> On 02/18/2016 12:06 PM, Marc Zyngier wrote:
>>> On Fri, 12 Feb 2016 08:13:09 +0000
>>> Eric Auger <eric.auger@linaro.org> wrote:
>>>
>>>> This patch introduces iommu_get/put_single_reserved.
>>>>
>>>> iommu_get_single_reserved allows to allocate a new reserved iova page
>>>> and map it onto the physical page that contains a given physical address.
>>>> It returns the iova that is mapped onto the provided physical address.
>>>> Hence the physical address passed in argument does not need to be aligned.
>>>>
>>>> In case a mapping already exists between both pages, the IOVA mapped
>>>> to the PA is directly returned.
>>>>
>>>> Each time an iova is successfully returned a binding ref count is
>>>> incremented.
>>>>
>>>> iommu_put_single_reserved decrements the ref count and when this latter
>>>> is null, the mapping is destroyed and the iova is released.
>>>
>>> I wonder if there is a requirement for the caller to find out about the
>>> size of the mapping, or to impose a given size... MSIs clearly do not
>>> have that requirement (this is always a 32bit value), but since. 
>>> allocations usually pair address and size, I though I'd ask...
>> Yes. Currently this only makes sure the host PA is mapped and returns
>> the corresponding IOVA. It is part of the discussion we need to have on
>> the API besides the problematic of which API it should belong to.
> 
> One of the issues I have with the API at the moment is that there is no
> control on the page size. Imagine you have allocated a 4kB IOVA window
> for your MSI, but your IOMMU can only map 64kB (not unreasonable to
> imagine on arm64). What happens then?
The code checks the IOVA window size is aligned with the IOMMU page size
so I think that case is handled at iova domain creation
(arm_smmu_alloc_reserved_iova_domain).
> 
> Somehow, userspace should be told about it, one way or another.
I agree on that point. The user-space should be provided with the
information about the requested iova pool size and alignments. This is
missing in current rfc series.

Best Regards

Eric
> 
> Thanks,
> 
> 	M.
> 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC v3 00/15] KVM PCIe/MSI passthrough on ARM/ARM64 Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 06/15] iommu/arm-smmu: add a reserved binding RB tree Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 01/15] iommu: Add DOMAIN_ATTR_MSI_MAPPING attribute Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 10/15] vfio: allow the user to register reserved iova range for MSI mapping Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 04/15] iommu: add alloc/free_reserved_iova_domain Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 03/15] vfio: introduce VFIO_IOVA_RESERVED vfio_dma type Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 12/15] msi: export msi_get_domain_info Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 05/15] iommu/arm-smmu: implement alloc/free_reserved_iova_domain Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
    Re: [RFC v3 05/15] iommu/arm-smmu: implement  alloc/free_reserved_iova_domain Robin Murphy <robin.murphy@arm.com> - 2016-02-18 12:10 +0100
      Re: [RFC v3 05/15] iommu/arm-smmu: implement  alloc/free_reserved_iova_domain Eric Auger <eric.auger@linaro.org> - 2016-02-18 16:30 +0100
      Re: [RFC v3 05/15] iommu/arm-smmu: implement  alloc/free_reserved_iova_domain Alex Williamson <alex.williamson@redhat.com> - 2016-02-18 17:10 +0100
  [RFC v3 08/15] iommu/arm-smmu: implement iommu_get/put_single_reserved Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 11/15] msi: Add a new MSI_FLAG_IRQ_REMAPPING flag Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 07/15] iommu: iommu_get/put_single_reserved Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
    Re: [RFC v3 07/15] iommu: iommu_get/put_single_reserved Marc Zyngier <marc.zyngier@arm.com> - 2016-02-18 12:10 +0100
      Re: [RFC v3 07/15] iommu: iommu_get/put_single_reserved Eric Auger <eric.auger@linaro.org> - 2016-02-18 17:50 +0100
        Re: [RFC v3 07/15] iommu: iommu_get/put_single_reserved Marc Zyngier <marc.zyngier@arm.com> - 2016-02-18 18:00 +0100
          Re: [RFC v3 07/15] iommu: iommu_get/put_single_reserved Eric Auger <eric.auger@linaro.org> - 2016-02-18 18:20 +0100
  [RFC v3 02/15] vfio: expose MSI mapping requirement through VFIO_IOMMU_GET_INFO Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
    Re: [RFC v3 02/15] vfio: expose MSI mapping requirement through  VFIO_IOMMU_GET_INFO Marc Zyngier <marc.zyngier@arm.com> - 2016-02-18 10:40 +0100
      Re: [RFC v3 02/15] vfio: expose MSI mapping requirement through  VFIO_IOMMU_GET_INFO Eric Auger <eric.auger@linaro.org> - 2016-02-18 16:30 +0100
  [RFC v3 15/15] irqchip/gicv2m/v3-its-pci-msi: IOMMU map the MSI frame when needed Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
    Re: [RFC v3 15/15] irqchip/gicv2m/v3-its-pci-msi: IOMMU map the MSI  frame when needed Marc Zyngier <marc.zyngier@arm.com> - 2016-02-18 12:40 +0100
      Re: [RFC v3 15/15] irqchip/gicv2m/v3-its-pci-msi: IOMMU map the MSI  frame when needed Eric Auger <eric.auger@linaro.org> - 2016-02-18 16:40 +0100
        Re: [RFC v3 15/15] irqchip/gicv2m/v3-its-pci-msi: IOMMU map the MSI  frame when needed Marc Zyngier <marc.zyngier@arm.com> - 2016-02-18 16:50 +0100
          Re: [RFC v3 15/15] irqchip/gicv2m/v3-its-pci-msi: IOMMU map the MSI  frame when needed Eric Auger <eric.auger@linaro.org> - 2016-02-18 18:00 +0100
  [RFC v3 14/15] iommu/arm-smmu: do not advertise IOMMU_CAP_INTR_REMAP Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100
  [RFC v3 09/15] iommu/arm-smmu: relinquish reserved resources on domain deletion Eric Auger <eric.auger@linaro.org> - 2016-02-12 09:20 +0100

csiph-web