On Thu, Apr 14, 2022 at 05:01:31PM -0700, Roman Gushchin wrote: > After commit 0e4b01df8659 ("mm, memcg: throttle allocators when > failing reclaim over memory.high") allocating memory over memory.high > became very time consuming. But it's exactly what the memory.high > test from cgroup kselftests is doing: it tries to allocate 100M with > 30M memory.high value. It takes forever to complete. > > In order to keep it passing (or failing) in a reasonable amount of > time let's try to allocate only a little over 30M: 31M to be precise. > > With this change test_memcontrol finishes in a reasonable amount of > time: > $ time ./test_memcontrol > ok 1 test_memcg_subtree_control > ok 2 test_memcg_current > ok 3 test_memcg_min > ok 4 test_memcg_low > ok 5 test_memcg_high > ok 6 test_memcg_max > ok 7 test_memcg_oom_events > ok 8 test_memcg_swap_max > ok 9 test_memcg_sock > ok 10 test_memcg_oom_group_leaf_events > ok 11 test_memcg_oom_group_parent_events > ok 12 test_memcg_oom_group_score_events > > real 0m2.273s > user 0m0.064s > sys 0m0.739s > > Signed-off-by: Roman Gushchin <roman.gushchin@xxxxxxxxx> > Cc: Chris Down <chris@xxxxxxxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > --- > tools/testing/selftests/cgroup/test_memcontrol.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c > index 00b430e7f2a2..9c1f19fe2e37 100644 > --- a/tools/testing/selftests/cgroup/test_memcontrol.c > +++ b/tools/testing/selftests/cgroup/test_memcontrol.c > @@ -607,7 +607,7 @@ static int test_memcg_high(const char *root) > if (cg_write(memcg, "memory.high", "30M")) > goto cleanup; > > - if (cg_run(memcg, alloc_anon, (void *)MB(100))) > + if (cg_run(memcg, alloc_anon, (void *)MB(31))) > goto cleanup; > > if (!cg_run(memcg, alloc_pagecache_50M_check, NULL)) > -- > 2.35.1 > Thanks for re-sending this. Looks good. Reviewed-by: David Vernet <void@xxxxxxxxxxxxx>