kernel/controllers/ testcase and CGROUPS support
Hi All,
I'd like to submit a request to change the method to check if CGROUPS support is enabled and available or not.
I'm referring to the kernel/controllers/xxx testcase. I'm using the LTP-full-20090430 cross-compiled for SH based arch with a kernel 2.6.23
The used/released method placed inside kernel/controllers/Makefile, tries to understand if the cgroups (and others related...) support has been enabled in the current kernel, performing a check in the root filesystem under "/proc". It makes something like that:
CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup')
Now, in the context of LTP built for i386, the above check works fine.
But what happen if LTP is cross-built ?
Unfortunately, the "/proc" entry checked by the above Makefile rule, is the ones placed in the host and not the "/proc" of the target root filesysetm (in my case SH based target). This is wrong!
Moreover, "/proc" is an entry which makes sense at runtime while it is useless at built time so the above check is "always" not applicable in case of LTP is built for other arch different from i386.
In order to cover the scenario in which LTP is cross-built, I've patched the Makefile , replacing the above rule with the following ones:
ifdef $(CROSS_COMPILE)CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') elseCHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup')CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1) endif
ifdef $(CROSS_COMPILE)
ifeq ($(CHECK_CGROUP),cgroup)
SUBDIRS += cgroup
SUBDIRS += cpuctl
SUBDIRS += memctl
SUBDIRS += io-throttle
SUBDIRS += freezer
SUBDIRS += cpuset
else
$(info "Kernel is not compiled with control cgroup support")
endif
else
ifeq ($(CHECK_CGROUP),cgroup)
SUBDIRS += cgroup else
..............................................(the same rules placed
in the original released Makefile).
The above checked header file "cgroupstats.h" is placed in the target rootfs. If the cgroups support is available (and enabled...likely ;-) the above header is placed in the target rootfs.
In that way, in case of cross-compilation (the env CROSS_COMPILE was defined) the check will be done in the header file instead of /proc.
The env TARGET_DIR works like a "--prefix" fixing the path of the cross-target rootfs.
Of course, If you have another checks/methods which can be done to understand -at build time- if cgroups support is available and/or enabled -for target platform-, please feel free to post a comment to LTP.
Anyway, I'll attach the patch I've applied in our system.
Advices and feedbacks are welcome!
Regards
Francesco Rundo
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.
testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +17 -0
@@ -1,10 +1,26 @@ +ifdef $(CROSS_COMPILE) +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1) +endif +ifdef $(CROSS_COMPILE) +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroup else
@@ -36,6 +52,7 @@ else $(info "Kernel is not compiled with cpuset resource controller support") endif +endif # If at least one of the controllers is available then build libcontrollers. ifneq ($(SUBDIRS),)
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
I will look into this.
Regards--
Subrata
Quoted 126 lines · Francesco RUNDO
Hi All,
I'd like to submit a request to change the method to check if CGROUPS support is enabled and available or not.
I'm referring to the
kernel/controllers/xxxtestcase. I'm using the LTP-full-20090430 cross-compiled for SH based arch with a kernel 2.6.23The used/released method placed inside
kernel/controllers/Makefile, tries to understand if the cgroups (and others related...) support has been enabled in the current kernel, performing a check in the root filesystem under "/proc". It makes something like that:
CHECK_CGROUP:= $(shell test -f/proc/cgroups&& echo 'cgroup')Now, in the context of LTP built for i386, the above check works fine.
But what happen if LTP is cross-built ?
Unfortunately, the "/proc" entry checked by the above
Makefilerule, is the ones placed in the host and not the "/proc" of the target root filesysetm (in my case SH based target). This is wrong!Moreover, "/proc" is an entry which makes sense at runtime while it is useless at built time so the above check is "always" not applicable in case of LTP is built for other arch different from i386.
In order to cover the scenario in which LTP is cross-built, I've patched the
Makefile, replacing the above rule with the following ones:ifdef $(CROSS_COMPILE)
CHECK_CGROUP:= $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') else
CHECK_CGROUP:= $(shell test -f/proc/cgroups&& echo 'cgroup')CHECK_CPUCTL:= $(shell grep -w cpu/proc/cgroups2>/dev/null|cut -f1)CHECK_MEMCTL:= $(shell grep -w memory/proc/cgroups2>/dev/null|cut -f1)CHECK_BLOCKIOCTL:= $(shell grep -w blockio/proc/cgroups
2>/dev/null|cut -f1)
CHECK_FREEZER:= $(shell grep -w freezer/proc/cgroups2>/dev/null| cut
-f1)
CHECK_CPUSETCTL= $(shell grep -w cpuset/proc/cgroups2>/dev/null|cut -f1)
endififdef $(CROSS_COMPILE)
ifeq ($(CHECK_CGROUP),cgroup)SUBDIRS += cgroup SUBDIRS += cpuctl SUBDIRS += memctl SUBDIRS += io-throttle SUBDIRS += freezer SUBDIRS += cpuset else $(info "Kernel is not compiled with control cgroup support") endif else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroupelse
..............................................(the same rules placed
in the original releasedMakefile).The above checked header file "
cgroupstats.h" is placed in the target rootfs. If the cgroups support is available (and enabled...likely ;-) the above header is placed in the target rootfs.In that way, in case of cross-compilation (the env
CROSS_COMPILEwas defined) the check will be done in the header file instead of /proc.The env
TARGET_DIRworks like a "--prefix" fixing the path of the cross-target rootfs.Of course, If you have another checks/methods which can be done to understand -at build time- if cgroups support is available and/or enabled -for target platform-, please feel free to post a comment to LTP.
Anyway, I'll attach the patch I've applied in our system.
Advices and feedbacks are welcome!
Regards
Francesco Rundoplain text document attachment
(ltp-full-20090430-fix-cgroups-testcase.patch)
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.Signed-off-by Francesco Rundo <[email protected]>testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +17
-1@@ -1,10 +1,26 @@ +ifdef $(CROSS_COMPILE) +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1) +endif +ifdef $(CROSS_COMPILE) +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroup else@@ -36,6 +52,7 @@ else $(info "Kernel is not compiled with cpuset resource controller support") endif +endif # If at least one of the controllers is available then build libcontrollers. ifneq ($(SUBDIRS),) ------------------------------------------------------------------------------
Quoted 6 lines
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Quoted 4 lines · Francesco RUNDO
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.
Signed-off-by Francesco Rundo <[email protected]>
Great if that helps your CROSS_COMPILE environment. Merged.
Regards--
Subrata
Quoted 45 lines
---
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile.orig 2009-05-26 15:37:35.140000000 +0200
+++
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile 2009-05-28 13:36:36.669998000 +0200(quoted diff) +3
-2@@ -1,10 +1,26 @@ +ifdef $(CROSS_COMPILE) +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1)
testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +14
-0+endif +ifdef $(CROSS_COMPILE) +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroup else@@ -36,6 +52,7 @@ else $(info "Kernel is not compiled with cpuset resource controller support") endif +endif # If at least one of the controllers is available then build
Quoted 2 lines
libcontrollers.
ifneq ($(SUBDIRS),)
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Hi Subrata,
please, replace on the LTP main the previous patch with ones attached. The attached patch add the right labels of ifdef.
Sorry for that.
Thanks in advance.
--
Francesco Rundo
Quoted 61 lines · Subrata Modak
Quoted 6 lines · Francesco RUNDO
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.
Signed-off-by Francesco Rundo <[email protected]>Great if that helps your
CROSS_COMPILEenvironment. Merged.Regards--
SubrataQuoted 44 lines
---
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile.orig 2009-05-26 15:37:35.140000000 +0200
+++
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile 2009-05-28 13:36:36.669998000 +0200(quoted diff) +3
-0@@ -1,10 +1,26 @@ +ifdef $(CROSS_COMPILE) +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup')
CHECK_CPUCTL:= $(shell grep -w cpu/proc/cgroups2>/dev/null|cut -f1)CHECK_MEMCTL:= $(shell grep -w memory/proc/cgroups2>/dev/null|cut -f1)CHECK_BLOCKIOCTL:= $(shell grep -w blockio/proc/cgroups2>/dev/null|cut -f1)CHECK_FREEZER:= $(shell grep -w freezer/proc/cgroups2>/dev/null| cut -f1)CHECK_CPUSETCTL= $(shell grep -w cpuset/proc/cgroups2>/dev/null| cut -f1)(quoted diff) +13
-0+endif +ifdef $(CROSS_COMPILE) +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +elseifeq ($(CHECK_CGROUP),cgroup)
SUBDIRS += cgroup
else(quoted diff) +0
-0@@ -36,6 +52,7 @@else
$(info "Kernel is not compiled with cpuset resource controller support")
endif
+endif
Quoted 9 lines
Quoted 5 lines
# If at least one of the controllers is available then build libcontrollers.
ifneq ($(SUBDIRS),)
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.
testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +17 -0
@@ -1,10 +1,26 @@ +ifdef CROSS_COMPILE +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1) +endif +ifdef CROSS_COMPILE +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroup else
@@ -36,6 +52,7 @@ else $(info "Kernel is not compiled with cpuset resource controller support") endif +endif # If at least one of the controllers is available then build libcontrollers. ifneq ($(SUBDIRS),)
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Quoted 4 lines · Francesco RUNDO
Hi Subrata,
please, replace on the LTP main the previous patch with ones attached. The attached patch add the right labels of ifdef.
Ok. I reverted the earlier one and applied this one. Please check the CVS and let me know if everything is fine.
Regards--
Subrata
Quoted 107 lines
Sorry for that.
Thanks in advance.
--
Francesco RundoQuoted 58 lines · Subrata Modak
Quoted 5 lines · Francesco RUNDO
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.
Signed-off-by Francesco Rundo <[email protected]>Great if that helps your
CROSS_COMPILEenvironment. Merged.Regards--
SubrataQuoted 44 lines
---
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile.orig 2009-05-26 15:37:35.140000000 +0200
+++
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile 2009-05-28 13:36:36.669998000 +0200(quoted diff) +3
-2@@ -1,10 +1,26 @@ +ifdef $(CROSS_COMPILE) +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1)
testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +14
-0+endif +ifdef $(CROSS_COMPILE) +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroup else@@ -36,6 +52,7 @@ else $(info "Kernel is not compiled with cpuset resource controller support") endif +endifQuoted 7 lines
Quoted 4 lines
(quoted diff) +0
-0# If at least one of the controllers is available then buildlibcontrollers.
ifneq ($(SUBDIRS),)plain text document attachment
(ltp-full-20090430-fix-cgroups-testcase.patch)
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.Signed-off-by Francesco Rundo <[email protected]>testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +16
-0@@ -1,10 +1,26 @@ +ifdef CROSS_COMPILE +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1) +endif +ifdef CROSS_COMPILE +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup) SUBDIRS += cgroup else
testcases/kernel/controllers/Makefile line 58
Quoted 7 lines
testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +1
-0@@ -36,6 +52,7 @@ else $(info "Kernel is not compiled with cpuset resource controller support") endif +endif # If at least one of the controllers is available then build libcontrollers. ifneq ($(SUBDIRS),)
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Subrata,
Ok.
Thanks so much for your support.
Best Regards
Francesco Rundo
Quoted 138 lines · Subrata Modak
Quoted 6 lines · Francesco RUNDO
Hi Subrata,
please, replace on the LTP main the previous patch with ones attached. The attached patch add the right labels of ifdef.
Ok. I reverted the earlier one and applied this one. Please check the CVS and let me know if everything is fine.
Regards--
SubrataQuoted 120 lines
Sorry for that.
Thanks in advance.
--
Francesco RundoQuoted 63 lines · Subrata Modak
Quoted 7 lines · Francesco RUNDO
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.
Signed-off-by Francesco Rundo <[email protected]>Great if that helps your
CROSS_COMPILEenvironment. Merged.Regards--
SubrataQuoted 44 lines
---
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile.orig 2009-05-26 15:37:35.140000000 +0200
+++
ltp-full-20090430-cross/testcases/kernel/controllers/Makefile 2009-05-28 13:36:36.669998000 +0200(quoted diff) +3
-0@@ -1,10 +1,26 @@ +ifdef $(CROSS_COMPILE) +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup')
CHECK_CPUCTL:= $(shell grep -w cpu/proc/cgroups2>/dev/null|cut -f1)CHECK_MEMCTL:= $(shell grep -w memory/proc/cgroups2>/dev/null|cut -f1)CHECK_BLOCKIOCTL:= $(shell grep -w blockio/proc/cgroups2>/dev/null|cut -f1)CHECK_FREEZER:= $(shell grep -w freezer/proc/cgroups2>/dev/null| cut -f1)CHECK_CPUSETCTL= $(shell grep -w cpuset/proc/cgroups2>/dev/null| cut -f1)testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +13
-0+endif +ifdef $(CROSS_COMPILE) +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +elseifeq ($(CHECK_CGROUP),cgroup)
SUBDIRS += cgroup
else(quoted diff) +0
-0@@ -36,6 +52,7 @@else
$(info "Kernel is not compiled with cpuset resource controller support")
endif
+endifQuoted 9 lines
Quoted 6 lines
# If at least one of the controllers is available then build libcontrollers.
ifneq ($(SUBDIRS),)plain text document attachment
(ltp-full-20090430-fix-cgroups-testcase.patch)
This patch allows the cross-build of kernel/controllers (cgroups tests) testcase changing the policy to check the cgroups capability at build-time.Signed-off-by Francesco Rundo <[email protected]>testcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +16
-0@@ -1,10 +1,26 @@ +ifdef CROSS_COMPILE +CHECK_CGROUP := $(shell test -f $(TARGET_DIR)/usr/include/linux/cgroupstats.h && echo 'cgroup') +else CHECK_CGROUP := $(shell test -f /proc/cgroups && echo 'cgroup') CHECK_CPUCTL := $(shell grep -w cpu /proc/cgroups 2>/dev/null|cut -f1) CHECK_MEMCTL := $(shell grep -w memory /proc/cgroups 2>/dev/null|cut -f1) CHECK_BLOCKIOCTL := $(shell grep -w blockio /proc/cgroups 2>/dev/null|cut -f1) CHECK_FREEZER := $(shell grep -w freezer /proc/cgroups 2>/dev/null| cut -f1) CHECK_CPUSETCTL = $(shell grep -w cpuset /proc/cgroups 2>/dev/null|cut -f1) +endif +ifdef CROSS_COMPILE +ifeq ($(CHECK_CGROUP),cgroup) +SUBDIRS += cgroup +SUBDIRS += cpuctl +SUBDIRS += memctl +SUBDIRS += io-throttle +SUBDIRS += freezer +SUBDIRS += cpuset +else +$(info "Kernel is not compiled with control cgroup support") +endif +else ifeq ($(CHECK_CGROUP),cgroup)SUBDIRS += cgroup
elsetestcases/kernel/controllers/Makefile renamed from testcases/kernel/controllers/Makefile.orig +0
-0@@ -36,6 +52,7 @@else
$(info "Kernel is not compiled with cpuset resource controller support") endif
+endif
Quoted 8 lines
Quoted 4 lines
# If at least one of the controllers is available then build libcontrollers. ifneq ($(SUBDIRS),)
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list