[v2] selftests: cgroup: fix test_kmem_basic slab1 check

Message ID ix6vzgjqay2x7bskle7pypoint4nj66fwq7odvd5hektatvp2l@kukoifnfj3dr
State New
Headers
Series [v2] selftests: cgroup: fix test_kmem_basic slab1 check |

Commit Message

Lucas Karpinski Aug. 3, 2023, 4 p.m. UTC
  test_kmem_basic creates 100,000 negative dentries, with each one mapping
to a slab object. After memory.high is set, these are reclaimed through
the shrink_slab function call which reclaims all 100,000 entries. The
test passes the majority of the time because when slab1 is calculated,
it is often above 0, however, 0 is also an acceptable value.

Signed-off-by: Lucas Karpinski <lkarpins@redhat.com>
---
https://lore.kernel.org/all/m6jbt5hzq27ygt3l4xyiaxxb7i5auvb2lahbcj4yaxxigqzu5e@5rn6s2yjzv7u/
V2: Corrected title

 tools/testing/selftests/cgroup/test_kmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Johannes Weiner Aug. 3, 2023, 4:08 p.m. UTC | #1
On Thu, Aug 03, 2023 at 12:00:47PM -0400, Lucas Karpinski wrote:
> test_kmem_basic creates 100,000 negative dentries, with each one mapping
> to a slab object. After memory.high is set, these are reclaimed through
> the shrink_slab function call which reclaims all 100,000 entries. The
> test passes the majority of the time because when slab1 is calculated,
> it is often above 0, however, 0 is also an acceptable value.
> 
> Signed-off-by: Lucas Karpinski <lkarpins@redhat.com>

Acked-by: Johannes Weiner <hannes@cmpxchg.org>

> @@ -71,7 +71,7 @@ static int test_kmem_basic(const char *root)
>  
>  	cg_write(cg, "memory.high", "1M");
>  	slab1 = cg_read_key_long(cg, "memory.stat", "slab ");
> -	if (slab1 <= 0)
> +	if (slab1 < 0)
>  		goto cleanup;

This conflicts with a recent patch already queued up in -mm:

  selftests: cgroup: fix test_kmem_basic false positives

which adds a sleep(1) between cg_write() and cg_read_key_long().

Can you please rebase on top of

  git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable

and re-send the patch with

  To: Andrew Morton <akpm@linux-foundation.org>

? Thanks
  

Patch

diff --git a/tools/testing/selftests/cgroup/test_kmem.c b/tools/testing/selftests/cgroup/test_kmem.c
index 258ddc565deb..ba0a0bfc5a98 100644
--- a/tools/testing/selftests/cgroup/test_kmem.c
+++ b/tools/testing/selftests/cgroup/test_kmem.c
@@ -71,7 +71,7 @@  static int test_kmem_basic(const char *root)
 
 	cg_write(cg, "memory.high", "1M");
 	slab1 = cg_read_key_long(cg, "memory.stat", "slab ");
-	if (slab1 <= 0)
+	if (slab1 < 0)
 		goto cleanup;
 
 	current = cg_read_long(cg, "memory.current");