Re: [PATCHv2 0/4] zsmalloc: make zspage chain size configurable

From: Sergey Senozhatsky
Date: Sat Jan 14 2023 - 00:27:33 EST


On (23/01/13 11:57), Mike Kravetz wrote:
> > This turns hard coded limit on maximum number of physical
> > pages per-zspage into a config option. It also increases the default
> > limit from 4 to 8.
> >
> > Sergey Senozhatsky (4):
> > zsmalloc: rework zspage chain size selection
> > zsmalloc: skip chain size calculation for pow_of_2 classes
> > zsmalloc: make zspage chain size configurable
> > zsmalloc: set default zspage chain size to 8
> >
> > Documentation/mm/zsmalloc.rst | 168 ++++++++++++++++++++++++++++++++++
> > mm/Kconfig | 19 ++++
> > mm/zsmalloc.c | 72 +++++----------
> > 3 files changed, 212 insertions(+), 47 deletions(-)
>
> Hi Sergey,

Hi Mike,

> The following BUG shows up after this series in linux-next. I can easily
> recreate by doing the following:
>
> # echo large_value > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
> where 'large_value' is a so big that there could never possibly be that
> many 2MB huge pages in the system.

Hmm... Are we sure this is related? I really cannot see how chain-size
can have an effect on zspage ->isolate counter. What chain-size value
do you use? You don't see problems with chain size of 4?