On Fri, Mar 3, 2023 at 8:48 PM Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> wrote: > > Hi, > > Existing zsmalloc page fullness grouping leads to suboptimal page > selection for both zs_malloc() and zs_compact(). This patchset > reworks zsmalloc fullness grouping/classification. > > Additinally it also implements new compaction algorithm that is > expected to use less CPU-cycles (as it potentially does fewer > memcpy-s in zs_object_copy()). > > Test (synthetic) results can be seen in patch 0003. Seeing the following crashes from mm-unstable. Please take a look. Thanks. list_add corruption. next is NULL. kernel BUG at lib/list_debug.c:26! Call Trace: <TASK> zs_compact+0xbf6/0xda0 zs_shrinker_scan+0x19/0x30 do_shrink_slab+0x1ac/0x450 shrink_slab+0xdc/0x3d0 shrink_one+0xe2/0x1d0 shrink_node+0xc7f/0xea0 do_try_to_free_pages+0x1b5/0x500 try_to_free_pages+0x396/0x5d0 __alloc_pages_slowpath+0x5d0/0x1030 __alloc_pages+0x1de/0x280 __folio_alloc+0x1e/0x40 vma_alloc_folio+0x4c0/0x530 shmem_alloc_and_acct_folio+0x1a6/0x3b0 shmem_get_folio_gfp+0x689/0xf00 shmem_fault+0x81/0x240