[PATCH 0/2] zsmalloc: fine-grained fullness grouping

From: Sergey Senozhatsky
Date: Mon Feb 06 2023 - 04:26:17 EST


Hi,

zsmalloc has only two fullness group to choose pages from during
zs_malloc() and zs_compact():
- ALMOST_EMPTY for pages with usage ratio equal or less to 3/4 of total
page capacity
- ALMOST_FULL for pages with usage raio greater than 3/4 of total page
capacity

This leads to suboptimal page selection for both zs_malloc() and
zs_compact().

This patchset reworks zsmalloc fullness grouping/classification.

Sergey Senozhatsky (2):
zsmalloc: remove insert_zspage() ->inuse optimization
zsmalloc: fine-grained inuse ratio based fullness grouping

mm/zsmalloc.c | 253 +++++++++++++++++++++++++++++++-------------------
1 file changed, 156 insertions(+), 97 deletions(-)

--
2.39.1.519.gcb327c4b5f-goog