On Fri, Jan 28, 2022 at 07:16:18AM +0100, Christoph Hellwig wrote: > On Thu, Jan 27, 2022 at 10:08:33AM -0800, Ira Weiny wrote: > > On Thu, Jan 27, 2022 at 10:57:30AM +0100, Christoph Hellwig wrote: > > > On Thu, Jan 27, 2022 at 09:37:59AM +0000, yangx.jy@xxxxxxxxxxx wrote: > > > > Do you mean we have to consider that some allocated pages come from high > > > > memory? > > > > > > > > I think INFINIBAND_VIRT_DMA kconfig[1] has ensured that all allocated > > > > pages have a kernel virtual address. > > > > > > rxe and siw depend on INFINIBAND_VIRT_DMA which depends on !HIGHMEM, > > > so you don't need kmap here at all. > > > > Until/if I get PKS protecting pmem.[1] Then if the page is pmem, page_address() > > will give you an address which you will fault on when you access it. > > In that case we'll have problems all over the drivers that select > INFINIBAND_VIRT_DMA, so this one doesn't make much of a difference.. Ah... ok... Obviously I've not kept up with the software providers... For this use case, can kmap_local_page() work? Ira