Re: [PATCH v7 4/4] PCI: Introduce the disable_acs_redir parameter

From: Logan Gunthorpe
Date: Tue Jul 17 2018 - 13:50:11 EST




On 17/07/18 11:48 AM, Alex Williamson wrote:
> On Tue, 17 Jul 2018 11:02:04 -0600
> Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote:
>
>> In order to support P2P traffic on a segment of the PCI hierarchy,
>> we must be able to disable the ACS redirect bits for select
>> PCI bridges. The bridges must be selected before the devices are
>> discovered by the kernel and the IOMMU groups created. Therefore,
>> a kernel command line parameter is created to specify devices
>> which must have their ACS bits disabled.
>>
>> The new parameter takes a list of devices separated by a semicolon.
>> Each device specified will have it's ACS redirect bits disabled.
>> This is similar to the existing 'resource_alignment' parameter.
>>
>> The ACS Request P2P Request Redirect, P2P Completion Redirect and P2P
>> Egress Control bits are disabled which is sufficient to always allow
>> passing P2P traffic uninterrupted. The bits are set after the kernel
>> (optionally) enables the ACS bits itself. It is also done regardless of
>> whether the kernel sets the bits or not seeing some BIOS firmware is known
>> to set the bits on boot.
>>
>> If the user tries to disable the ACS redirct for a device without the
>> ACS capability, a warning is printed to dmesg.
>>
>> Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>
>> Reviewed-by: Stephen Bates <sbates@xxxxxxxxxxxx>
>> Acked-by: Christian KÃnig <christian.koenig@xxxxxxx>
>> ---
>> Documentation/admin-guide/kernel-parameters.txt | 9 +++
>> drivers/pci/pci.c | 76 ++++++++++++++++++++++++-
>> 2 files changed, 83 insertions(+), 2 deletions(-)
>
> Thanks for the re-spins!
>
> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>


Thanks for all the thorough review!

Logan