This is v2, i do not count RFC version. It is based on Linux 6.17-rc6.
https://lore.kernel.org/all/20250704152537.55724-1-urezki@gmail.com/
https://lkml.org/lkml/2025/8/7/332
It makes __vmalloc() to support non-blocking flags such as GFP_ATOMIC
and GFP_NOWAIT, vmalloc_huge() is not supported yet.
v1 -> v2:
- plumb gfp to KMSAN for its internal allocations;
- update documentation of __vmalloc_node_range();
- Instead if dropping direct reclaim flag, check PF_MEMALLOC in might_alloc();
- dropped "mm/vmalloc: Remove cond_resched() in vm_area_alloc_pages()"
patch and keep cond_resched() points. Need more investigation before
dropping them.
Uladzislau Rezki (Sony) (10):
lib/test_vmalloc: add no_block_alloc_test case
lib/test_vmalloc: Remove xfail condition check
mm/vmalloc: Support non-blocking GFP flags in alloc_vmap_area()
mm/vmalloc: Avoid cond_resched() when blocking is not permitted
mm/vmalloc: Defer freeing partly initialized vm_struct
mm/vmalloc: Handle non-blocking GFP in __vmalloc_area_node()
mm/kasan: Support non-blocking GFP in kasan_populate_vmalloc()
kmsan: Remove hard-coded GFP_KERNEL flags
mm: Skip might_alloc() warnings when PF_MEMALLOC is set
mm/vmalloc: Update __vmalloc_node_range() documentation
include/linux/kmsan.h | 6 +-
include/linux/sched/mm.h | 3 +-
include/linux/vmalloc.h | 8 +-
lib/test_vmalloc.c | 28 ++++++-
mm/internal.h | 4 +-
mm/kasan/shadow.c | 12 +--
mm/kmsan/shadow.c | 6 +-
mm/percpu-vm.c | 2 +-
mm/vmalloc.c | 158 ++++++++++++++++++++++++++++++---------
9 files changed, 169 insertions(+), 58 deletions(-)
--
2.47.3