[LTP] [PATCH v2 1/4] lib: add new cgroup test API

Jan Stancek jstancek@redhat.com
Fri Jun 5 12:14:43 CEST 2020


On Wed, Jun 03, 2020 at 08:51:37PM +0800, Li Wang wrote:
>> I don't get why global variables are necessary.
>>
>
>The only reason to export them as global variables is to make the legacy
>read/write_cpuse_files() happy. So that I said it is a compromise.
>
>$ git grep tst_cgroup_new_path
>cpuset/cpuset01.c:      write_cpuset_files(tst_cgroup_new_path, "cpus",
>buf);
>cpuset/cpuset01.c:      write_cpuset_files(tst_cgroup_new_path, "mems",
>mems);
>cpuset/cpuset01.c:      write_cpuset_files(tst_cgroup_new_path, "mems",
>buf);
>cpuset/cpuset01.c:      write_cpuset_files(tst_cgroup_new_path, "mems",
>buf);
>lib/mem.c:      write_cpuset_files(tst_cgroup_new_path, "mems", buf);
>lib/mem.c:              write_cpuset_files(tst_cgroup_new_path, "cpus",
>cpus);
>lib/mem.c:              write_cpuset_files(tst_cgroup_new_path, "cpus",
>"0");
>oom/oom04.c:            write_cpuset_files(tst_cgroup_new_path,
>"memory_migrate", "1");
>oom/oom05.c:            write_cpuset_files(tst_cgroup_new_path,
>"memory_migrate", "1");

What if we provided access to it via API? Would we still need these
global variables?

  char *tst_cgroup_get_path(const char *cgroup_mnt)
      // return ptr to tst_cgroup_paths->new_path

mount path is always known to test, because it passes it to tst_cgroup_mount(),
so it just needs to find out "new path".

Would that satisfy the need of this legacy test?



More information about the ltp mailing list