mm/vmalloc: simplify merge_or_add_vmap_area()
authorUladzislau Rezki (Sony) <urezki@gmail.com>
Fri, 7 Aug 2020 06:24:09 +0000 (23:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 7 Aug 2020 18:33:27 +0000 (11:33 -0700)
commit5dd7864094033a281aeffccaf9703468cbcfccfc
tree148c6fa3b2e252bde0c46aba922048b355a2cba5
parent0f14599c607d32512a1d37e6d2a2d1a867f16177
mm/vmalloc: simplify merge_or_add_vmap_area()

Currently when a VA is deallocated and is about to be placed back to the
tree, it can be either: merged with next/prev neighbors or inserted if not
coalesced.

On those steps the tree can be populated several times.  For example when
both neighbors are merged.  It can be avoided and simplified in fact.

Therefore do it only once when VA points to final merged area, after all
manipulations: merging/removing/inserting.

Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/20200527205054.1696-1-urezki@gmail.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmalloc.c