Re: Disabling ACS for peer-to-peer support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 27.01.20 um 08:18 schrieb Skidanov, Alexey:
Hello,

I have recently found the below commit to disabling ACS bits. Using kernel parameter is pretty simple but requires to know in advance which devices might be participated in peer-to-peer sessions.

  Why we can't disable the ACS bits *after* the driver is initialized (and there is a request to connect between two peers) and not *during* device discovering?.

That's exactly what was initially proposed but we have seen hardware which reacts allergic to disabling those bits on the fly.

Please read up the discussion on the mailing list leading to this patch.

Regards,
Christian.


Thanks,
Alexey


commit aaca43fda742223e4f62bd73e13055f5364e9a9b
Author: Logan Gunthorpe <logang@xxxxxxxxxxxx>
Date:   Mon Jul 30 10:18:40 2018 -0600

     PCI: Add "pci=disable_acs_redir=" parameter for peer-to-peer support

     To support peer-to-peer traffic on a segment of the PCI hierarchy, we must
     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, add a kernel command line parameter 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 its 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 or platform firmware sets the bits.

     If the user tries to disable the ACS redirect for a device without the ACS
     capability, print a warning to dmesg.

     Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>
     [bhelgaas: reorder to add the generic code first and move the
     device-specific quirk to subsequent patches]
     Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
     Reviewed-by: Stephen Bates <sbates@xxxxxxxxxxxx>
     Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
     Acked-by: Christian König <christian.koenig@xxxxxxx>




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux