[LTP] [PATCH v2] tst_cgroup.c: Skip cases which testing cgroup v2 with CONFIG_RT_GROUP_SCHED=y
Li Wang
liwang@redhat.com
Fri Aug 22 03:42:58 CEST 2025
On Fri, Aug 22, 2025 at 9:38 AM Li Wang <liwang@redhat.com> wrote:
>
>
> On Tue, Jun 10, 2025 at 6:15 PM Wei Gao via ltp <ltp@lists.linux.it>
> wrote:
>
>> RT_GROUP scheduling is cgroup v1 feature as of now. So we need skip test
>> cases
>> for cgroup v2 with CONFIG_RT_GROUP_SCHED=y.
>>
>> Skip cases list:
>> sched_rr_get_interval01
>> sched_rr_get_interval02
>> sched_rr_get_interval03
>> sched_setparam02
>> sched_getscheduler01
>>
>> Fixes: https://github.com/linux-test-project/ltp/issues/1245
>> Signed-off-by: Wei Gao <wegao@suse.com>
>> ---
>> include/tst_cgroup.h | 2 ++
>> lib/tst_cgroup.c | 11 +++++++++++
>> .../sched_getscheduler/sched_getscheduler01.c | 2 ++
>> .../sched_rr_get_interval/sched_rr_get_interval01.c | 2 ++
>> .../sched_rr_get_interval/sched_rr_get_interval02.c | 2 ++
>> .../sched_rr_get_interval/sched_rr_get_interval03.c | 2 ++
>> .../kernel/syscalls/sched_setparam/sched_setparam02.c | 2 ++
>> 7 files changed, 23 insertions(+)
>>
>> diff --git a/include/tst_cgroup.h b/include/tst_cgroup.h
>> index d2b5224a0..0f0f44ec3 100644
>> --- a/include/tst_cgroup.h
>> +++ b/include/tst_cgroup.h
>> @@ -256,4 +256,6 @@ int safe_cg_occursin(const char *file, const int
>> lineno,
>>
>> int tst_cg_memory_recursiveprot(struct tst_cg_group *cg);
>>
>> +void tst_check_rt_group_sched_support(void);
>> +
>> #endif /* TST_CGROUP_H */
>> diff --git a/lib/tst_cgroup.c b/lib/tst_cgroup.c
>> index 36602402d..4ebdf701f 100644
>> --- a/lib/tst_cgroup.c
>> +++ b/lib/tst_cgroup.c
>> @@ -16,6 +16,7 @@
>> #include "lapi/fcntl.h"
>> #include "lapi/mount.h"
>> #include "tst_safe_file_at.h"
>> +#include "tst_kconfig.h"
>>
>> struct cgroup_root;
>>
>> @@ -1531,3 +1532,13 @@ int tst_cg_memory_recursiveprot(struct
>> tst_cg_group *cg)
>> return
>> cg->dirs_by_ctrl[0]->dir_root->memory_recursiveprot;
>> return 0;
>> }
>> +
>> +void tst_check_rt_group_sched_support(void)
>> +{
>> + static const char * const kconf[] = {"CONFIG_RT_GROUP_SCHED=y",
>> NULL};
>> +
>> + if ((access("/sys/fs/cgroup/cgroup.controllers", F_OK) == 0) &&
>> !tst_kconfig_check(kconf)) {
>>
>
> Here is what we assume the cgrup v2 default mount path, but
> better to use cgroup_v2_mounted() in case some test env is not
> mount cgroup on the path.
>
> I made the below change and pushed:
>
> --- a/lib/tst_cgroup.c
> +++ b/lib/tst_cgroup.c
> @@ -1537,7 +1537,9 @@ void tst_check_rt_group_sched_support(void)
> {
> static const char * const kconf[] = {"CONFIG_RT_GROUP_SCHED=y",
> NULL};
>
> - if (cgroup_v2_mounted() && !tst_kconfig_check(kconf)) {
> + tst_cg_scan();
> +
> + if (cgroup_v2_mounted() && tst_kconfig_check(kconf)) {
> tst_brk(TCONF, "CONFIG_RT_GROUP_SCHED not support on
> cgroupv2");
> }
>
Sorry, I copied the wrong content from my test machine,
the merged patch is actually like:
https://github.com/linux-test-project/ltp/commit/1bddde12f1d7b96d5c7a2157877330bbeb9b26d9
--
Regards,
Li Wang
More information about the ltp
mailing list