On 01/12/16 13:32, Alexey Kardashevskiy wrote: > On 15/11/16 13:53, Yongji Xie wrote: >> Hi Bjorn, >> >> >> Kindly ping. What do you think of the way to fix the bug that resources's >> size is changed >> >> when using resource_alignment. Thanks. > > > Could anyone please comment on this? Thanks! Anyone, please? > > > >> >> >> On 2016/10/26 14:53, Yongji Xie wrote: >>> This series introduces a way for PCI resource allocator to force >>> MMIO 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. >>> >>> In our solution, we try to make use of the existing code path of >>> resource_alignment kernel parameter and add a macro to set default >>> alignment for it. Thus we can define this macro by default on some >>> archs which may easily hit the performance issue because of their >>> 64K page. >>> >>> In this series, patch 1,2 fixed bugs of using resource_alignment; >>> patch 3 adds a macro to set the default alignment of all MMIO BARs. >>> >>> Changelog v7: >>> - Rebased against v4.9-rc2 >>> - Drop two merged patches >>> - Rework the patch which fix a bug that resources's size is changed when >>> using resource_alignment >>> - Add a patch that fix a bug for IOV BARs when using resource_alignment >>> >>> Changelog v6: >>> - Remove the option "noresize@" of resource_alignment >>> >>> Changelog v5: >>> - Rebased against v4.8-rc6 >>> - Drop the patch that forbidding disable memory decoding in >>> pci_reassigndev_resource_alignment() >>> >>> Changelog v4: >>> - Rebased against v4.8-rc1 >>> - Drop one irrelevant patch >>> - Drop the patch that adding wildcard to resource_alignment to enforce >>> the alignment of all MMIO BARs to be at least PAGE_SIZE >>> - Change the format of option "noresize" of resource_alignment >>> - Code style improvements >>> >>> 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 (3): >>> PCI: Ignore requested alignment for IOV BARs >>> PCI: Restore resource's size if we expand it by using resource_alignment >>> PCI: Add a macro to set default alignment for all PCI devices >>> >>> arch/powerpc/include/asm/pci.h | 4 ++++ >>> drivers/pci/pci.c | 6 +++++- >>> drivers/pci/setup-bus.c | 19 +++++++++++++++++++ >>> include/linux/pci.h | 1 + >>> 4 files changed, 29 insertions(+), 1 deletion(-) >>> >> > > -- Alexey -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html