[LTP] [PATCH] memcg: Account for pages in the per-cpu cache

Petr Vorel pvorel@suse.cz
Thu Oct 5 11:00:34 CEST 2023


Hi Richie,

[ Cc Li ]

> PAGESIZES is one greater than the batch size for charging pages from
> the per CPU cache. So with MEM_TO_ALLOC=2*PAGESIZES we have two pages
> that are below the threshold for being charged.

> Sometimes something triggers a flush and the pages get charged to the
> global counter anyway and the test passes. We have seen cases where
> the test times out waiting for this to happen.

> So this patch sets a lower bound to allow those cases to pass. It'll
> probably speed the test up as well.

LGTM.
Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

> Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
> ---
>  .../controllers/memcg/functional/memcg_subgroup_charge.sh    | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

> diff --git a/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh b/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
> index 9bcc01258..3b7311422 100755
> --- a/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
> +++ b/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
> @@ -33,8 +33,8 @@ test_subgroup()
>  	fi

>  	echo $MEMCG_PROCESS_PID > tasks
> -	signal_memcg_process $MEM_TO_ALLOC
> -	check_mem_stat "rss" $MEM_TO_ALLOC
> +	signal_memcg_process $MIN_CHARGED
> +	check_mem_stat "rss" $MIN_CHARGED $MEM_TO_ALLOC

>  	cd subgroup
>  	echo $MEMCG_PROCESS_PID > tasks
> @@ -66,5 +66,6 @@ test3()

>  # Allocate memory bigger than per-cpu kernel memory
>  MEM_TO_ALLOC=$((PAGESIZES * 2))
> +MIN_CHARGED=$((2 * (PAGESIZES - 1)))

>  tst_run


More information about the ltp mailing list