Message ID | 20220513171811.730-2-mkoutny@suse.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | memcontrol selftests fixups | expand |
On Fri, May 13, 2022 at 07:18:08PM +0200, Michal Koutný wrote: > This fixes mis-applied changes from commit 72b1e03aa725 ("cgroup: > account for memory_localevents in test_memcg_oom_group_leaf_events()"). > > Signed-off-by: Michal Koutný <mkoutny@suse.com> > --- > .../selftests/cgroup/test_memcontrol.c | 25 +++++++++++-------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c > index 6ab94317c87b..4958b42201a9 100644 > --- a/tools/testing/selftests/cgroup/test_memcontrol.c > +++ b/tools/testing/selftests/cgroup/test_memcontrol.c > @@ -1241,7 +1241,16 @@ static int test_memcg_oom_group_leaf_events(const char *root) > if (cg_read_key_long(child, "memory.events", "oom_kill ") <= 0) > goto cleanup; > > - if (cg_read_key_long(parent, "memory.events", "oom_kill ") <= 0) > + parent_oom_events = cg_read_key_long( > + parent, "memory.events", "oom_kill "); > + /* > + * If memory_localevents is not enabled (the default), the parent should > + * count OOM events in its children groups. Otherwise, it should not > + * have observed any events. > + */ > + if (has_localevents && parent_oom_events != 0) > + goto cleanup; > + else if (!has_localevents && parent_oom_events <= 0) > goto cleanup; > > ret = KSFT_PASS; > @@ -1349,20 +1358,14 @@ static int test_memcg_oom_group_score_events(const char *root) > if (!cg_run(memcg, alloc_anon, (void *)MB(100))) > goto cleanup; > > - parent_oom_events = cg_read_key_long( > - parent, "memory.events", "oom_kill "); > - /* > - * If memory_localevents is not enabled (the default), the parent should > - * count OOM events in its children groups. Otherwise, it should not > - * have observed any events. > - */ > - if ((has_localevents && parent_oom_events == 0) || > - parent_oom_events > 0) > - ret = KSFT_PASS; > + if (cg_read_key_long(memcg, "memory.events", "oom_kill ") != 3) > + FAIL(cleanup); > > if (kill(safe_pid, SIGKILL)) > goto cleanup; > > + ret = KSFT_PASS; > + > cleanup: > if (memcg) > cg_destroy(memcg); > -- > 2.35.3 > Thanks for the fix, Michal. Reviewed-by: David Vernet <void@manifault.com>
On Fri, May 13, 2022 at 07:18:08PM +0200, Michal Koutny wrote: > This fixes mis-applied changes from commit 72b1e03aa725 ("cgroup: > account for memory_localevents in test_memcg_oom_group_leaf_events()"). > > Signed-off-by: Michal Koutný <mkoutny@suse.com> > --- > .../selftests/cgroup/test_memcontrol.c | 25 +++++++++++-------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c > index 6ab94317c87b..4958b42201a9 100644 > --- a/tools/testing/selftests/cgroup/test_memcontrol.c > +++ b/tools/testing/selftests/cgroup/test_memcontrol.c > @@ -1241,7 +1241,16 @@ static int test_memcg_oom_group_leaf_events(const char *root) > if (cg_read_key_long(child, "memory.events", "oom_kill ") <= 0) > goto cleanup; > > - if (cg_read_key_long(parent, "memory.events", "oom_kill ") <= 0) > + parent_oom_events = cg_read_key_long( > + parent, "memory.events", "oom_kill "); > + /* > + * If memory_localevents is not enabled (the default), the parent should > + * count OOM events in its children groups. Otherwise, it should not > + * have observed any events. > + */ > + if (has_localevents && parent_oom_events != 0) > + goto cleanup; > + else if (!has_localevents && parent_oom_events <= 0) > goto cleanup; > > ret = KSFT_PASS; > @@ -1349,20 +1358,14 @@ static int test_memcg_oom_group_score_events(const char *root) > if (!cg_run(memcg, alloc_anon, (void *)MB(100))) > goto cleanup; > > - parent_oom_events = cg_read_key_long( > - parent, "memory.events", "oom_kill "); > - /* > - * If memory_localevents is not enabled (the default), the parent should > - * count OOM events in its children groups. Otherwise, it should not > - * have observed any events. > - */ > - if ((has_localevents && parent_oom_events == 0) || > - parent_oom_events > 0) > - ret = KSFT_PASS; > + if (cg_read_key_long(memcg, "memory.events", "oom_kill ") != 3) > + FAIL(cleanup); > > if (kill(safe_pid, SIGKILL)) > goto cleanup; > > + ret = KSFT_PASS; > + > cleanup: > if (memcg) > cg_destroy(memcg); > -- > 2.35.3 > My bad. Acked-by: Roman Gushchin <roman.gushchin@linux.dev> Thanks!
On Fri, May 13, 2022 at 11:53:26AM -0700, Roman Gushchin wrote: > On Fri, May 13, 2022 at 07:18:08PM +0200, Michal Koutny wrote: > > This fixes mis-applied changes from commit 72b1e03aa725 ("cgroup: > > account for memory_localevents in test_memcg_oom_group_leaf_events()"). > > > > Signed-off-by: Michal Koutný <mkoutny@suse.com> > > --- > > .../selftests/cgroup/test_memcontrol.c | 25 +++++++++++-------- > > 1 file changed, 14 insertions(+), 11 deletions(-) > > > > diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c > > index 6ab94317c87b..4958b42201a9 100644 > > --- a/tools/testing/selftests/cgroup/test_memcontrol.c > > +++ b/tools/testing/selftests/cgroup/test_memcontrol.c > > @@ -1241,7 +1241,16 @@ static int test_memcg_oom_group_leaf_events(const char *root) > > if (cg_read_key_long(child, "memory.events", "oom_kill ") <= 0) > > goto cleanup; > > > > - if (cg_read_key_long(parent, "memory.events", "oom_kill ") <= 0) > > + parent_oom_events = cg_read_key_long( > > + parent, "memory.events", "oom_kill "); > > + /* > > + * If memory_localevents is not enabled (the default), the parent should > > + * count OOM events in its children groups. Otherwise, it should not > > + * have observed any events. > > + */ > > + if (has_localevents && parent_oom_events != 0) > > + goto cleanup; > > + else if (!has_localevents && parent_oom_events <= 0) > > goto cleanup; > > > > ret = KSFT_PASS; > > @@ -1349,20 +1358,14 @@ static int test_memcg_oom_group_score_events(const char *root) > > if (!cg_run(memcg, alloc_anon, (void *)MB(100))) > > goto cleanup; > > > > - parent_oom_events = cg_read_key_long( > > - parent, "memory.events", "oom_kill "); > > - /* > > - * If memory_localevents is not enabled (the default), the parent should > > - * count OOM events in its children groups. Otherwise, it should not > > - * have observed any events. > > - */ > > - if ((has_localevents && parent_oom_events == 0) || > > - parent_oom_events > 0) > > - ret = KSFT_PASS; > > + if (cg_read_key_long(memcg, "memory.events", "oom_kill ") != 3) > > + FAIL(cleanup); > > > > if (kill(safe_pid, SIGKILL)) > > goto cleanup; > > > > + ret = KSFT_PASS; > > + > > cleanup: > > if (memcg) > > cg_destroy(memcg); > > -- > > 2.35.3 > > > > My bad. Actually not, as pointed by David. Seems like it's git fault. The original patch looks correct.
diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c index 6ab94317c87b..4958b42201a9 100644 --- a/tools/testing/selftests/cgroup/test_memcontrol.c +++ b/tools/testing/selftests/cgroup/test_memcontrol.c @@ -1241,7 +1241,16 @@ static int test_memcg_oom_group_leaf_events(const char *root) if (cg_read_key_long(child, "memory.events", "oom_kill ") <= 0) goto cleanup; - if (cg_read_key_long(parent, "memory.events", "oom_kill ") <= 0) + parent_oom_events = cg_read_key_long( + parent, "memory.events", "oom_kill "); + /* + * If memory_localevents is not enabled (the default), the parent should + * count OOM events in its children groups. Otherwise, it should not + * have observed any events. + */ + if (has_localevents && parent_oom_events != 0) + goto cleanup; + else if (!has_localevents && parent_oom_events <= 0) goto cleanup; ret = KSFT_PASS; @@ -1349,20 +1358,14 @@ static int test_memcg_oom_group_score_events(const char *root) if (!cg_run(memcg, alloc_anon, (void *)MB(100))) goto cleanup; - parent_oom_events = cg_read_key_long( - parent, "memory.events", "oom_kill "); - /* - * If memory_localevents is not enabled (the default), the parent should - * count OOM events in its children groups. Otherwise, it should not - * have observed any events. - */ - if ((has_localevents && parent_oom_events == 0) || - parent_oom_events > 0) - ret = KSFT_PASS; + if (cg_read_key_long(memcg, "memory.events", "oom_kill ") != 3) + FAIL(cleanup); if (kill(safe_pid, SIGKILL)) goto cleanup; + ret = KSFT_PASS; + cleanup: if (memcg) cg_destroy(memcg);
This fixes mis-applied changes from commit 72b1e03aa725 ("cgroup: account for memory_localevents in test_memcg_oom_group_leaf_events()"). Signed-off-by: Michal Koutný <mkoutny@suse.com> --- .../selftests/cgroup/test_memcontrol.c | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-)