> @@ -224,9 +220,6 @@ static void *erofs_vmap(struct page **pages, unsigned int count) > { > int i = 0; > > - if (use_vmap) > - return vmap(pages, count, VM_MAP, PAGE_KERNEL); > - > while (1) { > void *addr = vm_map_ram(pages, count, -1, PAGE_KERNEL); I think you can just open code this in the caller. > static void erofs_vunmap(const void *mem, unsigned int count) > { > - if (!use_vmap) > - vm_unmap_ram(mem, count); > - else > - vunmap(mem); > + vm_unmap_ram(mem, count); > } And this wrapper can go away entirely. And don't forget to report your performance observations to the arm64 maintainers!