[PATCH 1/9] block: don't merge different kinds of P2P transfers in a single bio

Logan Gunthorpe logang at deltatee.com
Wed Jun 11 12:41:54 PDT 2025



On 2025-06-11 10:41, Keith Busch wrote:
> On Wed, Jun 11, 2025 at 10:39:17AM -0600, Logan Gunthorpe wrote:
>> On 2025-06-11 10:26, Keith Busch wrote:
>> That is all correct. In order to use P2P on a switch, with the IOMMU
>> enabled, it is currently required to disable ACS for the devices in
>> question. This is done with the command line parameter disable_acs_redir
>> or config_acs.
> 
> Is there some other mechansim that ensures a host memory mapped IOVA
> doesn't collide with a PCI bus address then?

Yes, in the absence of a switch with ACS protection this can be a problem.

I haven't looked at this in a long time, but the iommu drivers reserve
regions where the PCI addresses are valid so no iova will be allocated
with a similar bus address. After a quick search, I believe today, this
is handled by iova_reserve_pci_windows().

Logan



More information about the Linux-nvme mailing list