Re: [PATCH] kselftests: cgroup: update kmem test precision tolerance

From: Yujie Liu
Date: Fri Dec 02 2022 - 12:51:10 EST


On Fri, Dec 02, 2022 at 09:50:26AM +0100, Michal Hocko wrote:
> OK, so this is a full patch to fix this
> ---
> From 7f338ed952ba4a100822004bc8399bf720b42899 Mon Sep 17 00:00:00 2001
> From: Michal Hocko <mhocko@xxxxxxxx>
> Date: Fri, 2 Dec 2022 09:45:29 +0100
> Subject: [PATCH] kselftests: cgroup: update kmem test precision tolerance
>
> 1813e51eece0 ("memcg: increase MEMCG_CHARGE_BATCH to 64") has changed
> the batch size while this test case has been left behind. This has led
> to a test failure reported by test bot:
> not ok 2 selftests: cgroup: test_kmem # exit=1
>
> Update the tolerance for the pcp charges to reflect the
> MEMCG_CHARGE_BATCH change to fix this.
>
> Reported-by: kernel test robot <yujie.liu@xxxxxxxxx>
> Link: https://lore.kernel.org/oe-lkp/202212010958.c1053bd3-yujie.liu@xxxxxxxxx
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>

The failure is gone after applying this patch. Thanks.

Tested-by: Yujie Liu <yujie.liu@xxxxxxxxx>

=========================================================================================
compiler/group/kconfig/rootfs/tbox_group/testcase:
gcc-11/cgroup/x86_64-rhel-8.3-kselftests/debian-12-x86_64-20220629.cgz/lkp-icl-2sp5/kernel-selftests

commit:
1813e51eece0a ("memcg: increase MEMCG_CHARGE_BATCH to 64")
8046f9500f4b7 ("kselftests: cgroup: update kmem test precision tolerance")

1813e51eece0a 8046f9500f4b7
---------------- ------------- -------------
fail:runs %reproduction fail:runs
| | |
3:3 -100% :5 kernel-selftests.cgroup.test_kmem.test_kmem_memcg_deletion.fail

> ---
> tools/testing/selftests/cgroup/test_kmem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/cgroup/test_kmem.c b/tools/testing/selftests/cgroup/test_kmem.c
> index 22b31ebb3513..1d073e28254b 100644
> --- a/tools/testing/selftests/cgroup/test_kmem.c
> +++ b/tools/testing/selftests/cgroup/test_kmem.c
> @@ -24,7 +24,7 @@
> * the maximum discrepancy between charge and vmstat entries is number
> * of cpus multiplied by 32 pages.
> */
> -#define MAX_VMSTAT_ERROR (4096 * 32 * get_nprocs())
> +#define MAX_VMSTAT_ERROR (4096 * 64 * get_nprocs())
>
>
> static int alloc_dcache(const char *cgroup, void *arg)
> --
> 2.30.2
>
> --
> Michal Hocko
> SUSE Labs