I had intended to write and test one user before sending this out, but Dave Howells says he has a user now that wants this functionality, so here we go. It is only compile tested. Earlier thread on this: https://lore.kernel.org/all/YvvdFrtiW33UOkGr@xxxxxxxxxxxxxxxxxxxx/ v2: - Remove spurious blank line change in highmem.h (David Howells) - Insert missing "else" in folio_unmap_local() (Hyeonggon Yoo) - Use vm_unmap_ram() instead of vunmap() in folio_unmap_local() (Hyeonggon Yoo) - Factor vmap_alloc() out of vm_map_ram() (Uladzislau Rezki) Matthew Wilcox (Oracle) (2): vmalloc: Factor vmap_alloc() out of vm_map_ram() mm: Add folio_map_local() include/linux/highmem.h | 40 ++++++++++++++++++++++ include/linux/vmalloc.h | 6 ++-- mm/vmalloc.c | 73 +++++++++++++++++++++++++++++++---------- 3 files changed, 99 insertions(+), 20 deletions(-) -- 2.35.1