[PATCH 0/3] vmalloc() vs bulk allocator v2

From: Uladzislau Rezki (Sony)
Date: Sun May 16 2021 - 16:35:48 EST


Hi.

There are three patches in this small series. This is a second iteration.
First one was buggy and leaded to kernel panic due to passing NUMA_NO_NODE
as "nid" to the bulk allocator(it assumes to have a valid node).

Therefore the patch number [1] adds an extra helper that guarantees a correct
numa node ID if it is not specified. Basically saying when it is invoked with
NUMA_NO_NODE.

A patch [2] has been slightly updated, the change-log is below.

V1 -> V2:
- Switch to the alloc_pages_bulk_array_node() helper so the NUMA_NO_NODE
is correctly handled(similar to alloc_pages_node() API func).
- Use "while()" loop instead of "for()" for high-order pages and increase
number of allocated pages after actual alloc.

Uladzislau Rezki (Sony) (3):
[1] mm/page_alloc: Add an alloc_pages_bulk_array_node() helper
[2] mm/vmalloc: Switch to bulk allocator in __vmalloc_area_node()
[3] mm/vmalloc: Print a warning message first on failure

include/linux/gfp.h | 9 ++++++
mm/vmalloc.c | 78 +++++++++++++++++++++++++--------------------
2 files changed, 52 insertions(+), 35 deletions(-)

--
2.20.1