On Tue, Jul 29, 2025 at 11:53:36AM +0300, Leon Romanovsky wrote: > > Because the struct page is the only thing that: > > > > a) dma-mapping works on > > b) is the only place we can discover the routing information, but also > > more importantly ensure that the underlying page is still present > > and the device is not hot unplugged, or in a very theoretical worst > > case replaced by something else. > > It is correct in general case, but here we are talking about MMIO > memory, which is "connected" to device X and routing information is > stable. MMIO is literally the only thing we support to P2P to/from as that is how PCIe P2P is defined. And not, it's not stable - devices can be unplugged, and BARs can be reenumerated.