Re: [LTP] [PATCH] cgroups: conditionally enable building cgroup tests

Francesco RUNDO
2009-07-06T13:15:15Z

Hi Gowri,

thanks so much for your quick reply.
My question is: "Is there a 'real' scenario in which cgroup is enabled
in the Kernel without cgroupstat.h header" ?

Because I think the above scenario (cgroup enabled but no cgroupstat.h
header) is wrong so that your patch provide a "cover" for an error
placed in the system. Is it true ?

If my understanding is wrong, for me there are no concerns about your patch.

Regards
Francesco Rundo

gowrishankar wrote:

> Hi Francesco,
>
> Francesco RUNDO wrote:
>
>> Hi Gowri,
>>
>> I've already fixed the same issue you reported. I've tested it
>> successfully.
>>
>> Subrata has already merged my patch (please, find it in attachment).
>>
>> Please, check it before to submit another patch.
>>
>
> I had already seen your patch and generated mine on top of Jun release
> (which
> has your fix for CROSS_COMPILE).Your patch could not help in a
> scenario where kernel has cgroup support but cgroupstat.h file is
> missing in base OS, and
> build failed. And hence, I am proposing this patch.
>
> Thanks,
> Gowri
>
>> Thanks
>> Regards
>> Francesco Rundo
>>
>> gowrishankar wrote:
>>
>>> Hi Subrata,
>>> Please accept the patch below.
>>>
>>> Thanks,
>>> Gowri
>>> ---
>>> cgroups: conditionally enable building cgroup tests
>>>
>>> controllers tests gets included into default ltp build if
>>> "/proc/cgroup"
>>> exists. It stops the ltp build in realtime kernel environment where
>>> kernel
>>> is new and supports cgroups, but necessary file
>>> "linux/cgroupstats.h" may not
>>> exist in the base OS (like RHEL5.3). So configure command enables
>>> the build,
>>> but actual build fails, due to missing header file.
>>>
>>> Below patch proposes new symbol LTP_CHECK_CGROUPSTATS to check for
>>> header file
>>> "linux/cgroupstats.h" and include controllers in the list of tests
>>> to build.
>>>
>>> Tested the patch in non-RT as well as RT environment for the changes.
>>>
>>> Signed-off-by: Gowrishankar <gowrishankar.m@in.ibm.com>
>>> Tested-by: Gowrishankar <gowrishankar.m@in.ibm.com>
>>> ---
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> Index: ltp-full-20090630/m4/ltp-cgroupstats.m4
>>> ===================================================================
>>> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
>>> +++ ltp-full-20090630/m4/ltp-cgroupstats.m4 2009-07-03
>>> 13:41:55.000000000 +0530
>>> @@ -0,0 +1,9 @@
>>> +dnl
>>> +dnl LTP_CHECK_CGROUPSTATS
>>> +dnl ----------------------------
>>> +dnl
>>> +AC_DEFUN([LTP_CHECK_CGROUPSTATS],
>>> +[dnl
>>> +AC_CHECK_HEADERS(linux/cgroupstats.h,[LTP_CHECK_CGROUPSTATS_HEADER=yes])
>>>
>>> +AC_SUBST(LTP_CHECK_CGROUPSTATS_HEADER)
>>> +])
>>> Index: ltp-full-20090630/configure.ac
>>> ===================================================================
>>> --- ltp-full-20090630.orig/configure.ac 2009-07-03
>>> 13:59:48.000000000 +0530
>>> +++ ltp-full-20090630/configure.ac 2009-07-03 14:00:14.000000000
>>> +0530
>>> @@ -21,5 +21,6 @@
>>> LTP_CHECK_SELINUX
>>> LTP_CHECK_CRYPTO
>>> LTP_CHECK_TASKSTATS
>>> +LTP_CHECK_CGROUPSTATS
>>>
>>> AC_OUTPUT
>>> Index: ltp-full-20090630/testcases/kernel/Makefile
>>> ===================================================================
>>> --- ltp-full-20090630.orig/testcases/kernel/Makefile 2009-07-03
>>> 14:01:25.000000000 +0530
>>> +++ ltp-full-20090630/testcases/kernel/Makefile 2009-07-03
>>> 14:02:42.000000000 +0530
>>> @@ -1,6 +1,12 @@
>>> -SUBDIRS = power_management numa containers controllers connectors
>>> include fs io ipc mem pty sched security syscalls timers
>>> +include ../../config.mk
>>> +
>>> +SUBDIRS = power_management numa containers connectors include fs io
>>> ipc mem pty sched security syscalls timers
>>> UCLINUX_SUBDIRS = include syscalls
>>>
>>> +ifeq ($(LTP_CHECK_CGROUPSTATS_HEADER),yes)
>>> + SUBDIRS+= controllers
>>> +endif
>>> +
>>> all:
>>> @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i ; done
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> Ltp-list mailing list
>>> Ltp-list@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/ltp-list
>>>
>>