Re: [PATCH v12 7/9] hugetlb: support file_region coalescing again

From: David Rientjes
Date: Sat Feb 15 2020 - 20:30:04 EST


On Tue, 11 Feb 2020, Mina Almasry wrote:

> An earlier patch in this series disabled file_region coalescing in order
> to hang the hugetlb_cgroup uncharge info on the file_region entries.
>
> This patch re-adds support for coalescing of file_region entries.
> Essentially everytime we add an entry, we call a recursive function that
> tries to coalesce the added region with the regions next to it. The
> worst case call depth for this function is 3: one to coalesce with the
> region next to it, one to coalesce to the region prev, and one to reach
> the base case.
>
> This is an important performance optimization as private mappings add
> their entries page by page, and we could incur big performance costs for
> large mappings with lots of file_region entries in their resv_map.
>
> Signed-off-by: Mina Almasry <almasrymina@xxxxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>