Re: [RFC 0/8] Copy Offload with Peer-to-Peer PCI Memory
From: Benjamin Herrenschmidt
Date: Fri Apr 14 2017 - 07:39:29 EST
On Thu, 2017-04-13 at 22:16 -0600, Jason Gunthorpe wrote:
> > Any caller of pci_add_resource_offset() uses CPU addresses different from
> > the PCI bus addresses (unless the offset is zero, of course). All ACPI
> > platforms also support this translation (see "translation_offset"), though
> > in most x86 systems the offset is zero. I'm aware of one x86 system that
> > was tested with a non-zero offset but I don't think it was shipped that
> > way.
>
> I'd suggest just detecting if there is any translation in bus
> addresses anywhere and just hard disabling P2P on such systems.
I object to designing a subsystem that by design cannot work on whole
categories of architectures out there.
> On modern hardware with 64 bit BARs there is very little reason to
> have translation, so I think this is a legacy feature.
No it's not.
Cheers,
Ben.