[PATCH v3 0/4] Some cleanups for the KVA/vmalloc

Uladzislau Rezki (Sony)
2019-05-27T09:38:54Z

Patch [1] removes an unused argument "node" from the __alloc_vmap_area()
function and that is it.

Patch [2] is not driven by any particular workload that fails or so,
it is just better approach to handle one specific split case.

Patch [3] some cleanups in merging path. Basically on a first step
the mergeable node is detached and there is no reason to "unlink" it.
The same concerns the second step unless it has been merged on first
one.

Patch [4] moves BUG_ON()/RB_EMPTY_NODE() checks under "unlink" logic.
After [3] merging path "unlink" only linked nodes. Therefore we can say
that removing detached object is a bug in all cases.

v2->v3:
- remove the odd comment from the [3];

v1->v2:
- update the commit message. [2] patch;
- fix typos in comments. [2] patch;
- do the "preload" for NUMA awareness. [2] patch;

Uladzislau Rezki (Sony) (4):
mm/vmap: remove "node" argument
mm/vmap: preload a CPU with one object for split purpose
mm/vmap: get rid of one single unlink_va() when merge
mm/vmap: move BUG_ON() check to the unlink_va()

mm/vmalloc.c | 115 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 89 insertions(+), 26 deletions(-)

--
2.11.0