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

Message ID 20230206092559.2722946-1-senozhatsky@chromium.org
Headers
Series zsmalloc: fine-grained fullness grouping |

Message

Sergey Senozhatsky Feb. 6, 2023, 9:25 a.m. UTC
  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(-)