[LTP] [PATCH] tst_cgroup: Don't try to use V2 if V1 controllers are mounted

Richard Palethorpe rpalethorpe@suse.de
Fri Sep 25 09:39:33 CEST 2020


Hello Li,

Li Wang <liwang@redhat.com> writes:

> On Thu, Sep 24, 2020 at 10:06 PM Richard Palethorpe <rpalethorpe@suse.de>
> wrote:
>
>> Hello Li,
>>
>> Li Wang <liwang@redhat.com> writes:
>>
>> > Hi Richard,
>> >
>> > On Thu, Sep 24, 2020 at 7:11 PM Richard Palethorpe <rpalethorpe@suse.com
>> >
>> > wrote:
>> >
>> >> It is not possible to use a controller in V2 cgroups if it has been
>> >> mounted as a V1 controller. So if V1 is mounted we use it regardless
>> >> of if V2 is available.
>> >>
>> >> We have to include a space in tst_is_mounted so that we do not match
>> >> cgroup2.
>> >>
>> >> Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
>> >> ---
>> >>  lib/tst_cgroup.c | 2 +-
>> >>  1 file changed, 1 insertion(+), 1 deletion(-)
>> >>
>> >> diff --git a/lib/tst_cgroup.c b/lib/tst_cgroup.c
>> >> index ba413d874..73ddd4b82 100644
>> >> --- a/lib/tst_cgroup.c
>> >> +++ b/lib/tst_cgroup.c
>> >> @@ -44,7 +44,7 @@ enum tst_cgroup_ver tst_cgroup_version(void)
>> >>          enum tst_cgroup_ver cg_ver;
>> >>
>> >>          if (tst_cgroup_check("cgroup2")) {
>> >> -                if (!tst_is_mounted("cgroup2") &&
>> >> tst_is_mounted("cgroup"))
>> >> +                if (tst_is_mounted("cgroup "))
>> >>
>> >
>> > Add a space in the suffix still not work as expected.
>> >
>> > The reason is that tst_is_mounted("cgroup ") also get non-zero return if
>> > system only mount cgroup_v2, which lead to choose cgroup_v1 in LTP test.
>> >
>> > # cat /proc/mounts |grep cgroup
>> > cgroup2 /sys/fs/cgroup cgroup2 rw,seclabel,nosuid,nodev,noexec,relatime
>> 0 0
>>
>> I wonder if it would be better to simply try mounting/using V2 and if
>> that fails try V1?
>>
>
> That will be work but not good, because if cgroup mount fails, how do we
> know it is a bug or not support?

I think this is a valid point if you are writing a test for mounting
cgroups. However if we are testing something else then trying to guess
if cgroups should be available before using them, makes the test
fragile. I suppose we could check *after* trying to use the cgroups so
we can report some diagnostic info.

-- 
Thank you,
Richard.


More information about the ltp mailing list