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