[PATCH v3 0/7] PCI: Add support for enforcing all MMIO BARs not to share PAGE_SIZE
Yongji Xie
xyjxie at linux.vnet.ibm.com
Tue Jul 12 15:09:38 AEST 2016
Hi Bjorn,
Any comment on V3?
Thanks,
Yongji
On 2016/6/30 18:53, Yongji Xie wrote:
> This series aims to add an option for PCI resource allocator to
> force BARs not to share PAGE_SIZE. This would make sense to VFIO
> driver. Because current VFIO implementation disallows to mmap
> sub-page(size < PAGE_SIZE) MMIO BARs which may share the same page
> with other BARs for security reasons. Thus, we have to handle mmio
> access to these BARs in QEMU emulation rather than in guest which
> will cause some performance loss.
>
> To achieve that, we would like to make use of the existing
> resource_alignment kernel parameter and force a minimum alignment
> of PAGE_SIZE. It's flexible. And we can enable it by default on
> some archs which may easily hit the performance issue because of
> their 64K page.
>
> In this series, patch 1,2,3 fixed bugs of using resource_alignment;
> patch 4,5 tried to add a new option for resource_alignment to use
> IORESOURCE_STARTALIGN to specify the alignment of PCI BARs; patch 6
> modified resource_alignment to support syntax which can be used to
> enforce the alignment of all MMIO BARs to be at least PAGE_SIZE;
> patch 7 enabled this feature by default on PowerNV platform.
>
> Changelog v3:
> - Ignore enforced alignment to fixed BARs
> - Fix issue that disabling memory decoding when reassigning the alignment
> - Only enable default alignment on PowerNV platform
>
> Changelog v2:
> - Ignore enforced alignment to VF BARs on pci_reassigndev_resource_alignment()
>
> Yongji Xie (7):
> PCI: Ignore enforced alignment when kernel uses existing firmware setup
> PCI: Ignore enforced alignment to VF BARs
> PCI: Do not disable memory decoding in pci_reassigndev_resource_alignment()
> PCI: Add a new option for resource_alignment to reassign alignment
> PCI: Do not use IORESOURCE_STARTALIGN to identify bridge resources
> PCI: Add support for enforcing all MMIO BARs to be page aligned
> PCI: Add a macro to set default alignment for all PCI devices
>
> Documentation/kernel-parameters.txt | 7 +-
> arch/powerpc/include/asm/pci.h | 4 ++
> drivers/pci/pci.c | 123 +++++++++++++++++++++++++++--------
> drivers/pci/setup-bus.c | 9 ++-
> 4 files changed, 111 insertions(+), 32 deletions(-)
>
More information about the Linuxppc-dev
mailing list