Re: [PATCHv2 0/3] zsmalloc: small compaction improvements

From: Sergey Senozhatsky
Date: Wed Jul 05 2023 - 09:29:02 EST


On (23/06/24 14:12), Sergey Senozhatsky wrote:
> Hi,
> A tiny series that can reduce the number of
> find_alloced_obj() invocations (which perform a linear
> scan of sub-page) during compaction. Inspired by Alexey
> Romanov's findings.
>
> v2:
> -- picked up a patch from Minchan
>
> Minchan Kim (1):
> zsmalloc: remove zs_compact_control
>
> Sergey Senozhatsky (2):
> zsmalloc: do not scan for allocated objects in empty zspage
> zsmalloc: move migration destination zspage inuse check

Just for the record,

A synthetic zsmalloc fragmentation+compaction test (100% reproducible)

num find_tagged_obj() calls num iterations in find_tagged_obj()

base 545699 812899
patch #1 460701 691821
patch #2 422372 651372

// lower is better


patch #1 is "zsmalloc: do not scan for allocated objects in empty zspage"
patch #2 is "zsmalloc: move migration destination zspage inuse check"