Thread (1 message) 1 message, 1 author, 2021-05-05

Re: [PATCH v2 5/5] tests/cgroup: test cgroup.kill

From: Shakeel Butt <hidden>
Date: 2021-05-05 18:34:41

On Mon, May 3, 2021 at 7:40 AM Christian Brauner [off-list ref] wrote:
[...]
+
+static int test_cgkill_simple(const char *root)
+{
+       pid_t pids[100];
+       int ret = KSFT_FAIL;
+       char *cgroup = NULL;
+       int i;
+
+       cgroup = cg_name(root, "cg_test_simple");
+       if (!cgroup)
+               goto cleanup;
+
+       if (cg_create(cgroup))
+               goto cleanup;
+
+       for (i = 0; i < 100; i++)
+               pids[i] = cg_run_nowait(cgroup, child_fn, NULL);
+
+       if (cg_wait_for_proc_count(cgroup, 100))
+               goto cleanup;
+
+        if (cg_write(cgroup, "cgroup.kill", "1"))
+               goto cleanup;
I don't think the above write to cgroup.kill is correct.
+
+       if (cg_read_strcmp(cgroup, "cgroup.events", "populated 1\n"))
+               goto cleanup;
+
+       if (cg_kill_wait(cgroup))
+               goto cleanup;
+
+       if (cg_read_strcmp(cgroup, "cgroup.events", "populated 0\n"))
+               goto cleanup;
+
+       ret = KSFT_PASS;
+
+cleanup:
+       for (i = 0; i < 100; i++)
+               wait_for_pid(pids[i]);
+
+       if (cgroup)
+               cg_destroy(cgroup);
+       free(cgroup);
+       return ret;
+}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help