public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Francesco RUNDO <francesco.rundo@st.com>
To: gowrishankar <gomuthuk@linux.vnet.ibm.com>
Cc: ltp-list@lists.sf.net
Subject: Re: [LTP] [PATCH] cgroups: conditionally enable building cgroup tests
Date: Mon, 06 Jul 2009 13:38:59 +0200	[thread overview]
Message-ID: <4A51E253.200@st.com> (raw)
In-Reply-To: <4A51CEDC.6080605@linux.vnet.ibm.com>


[-- Attachment #1.1: Type: text/plain, Size: 3265 bytes --]

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.

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
>  
>

[-- Attachment #1.2: Type: text/html, Size: 3942 bytes --]

[-- Attachment #2: ltp-full-20090430-fix-cgroups-testcase.patch --]
[-- Type: text/plain, Size: 1533 bytes --]

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 <francesco.rundo@st.com>
--- 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
@@ -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),)

[-- Attachment #3: Type: text/plain, Size: 79 bytes --]

------------------------------------------------------------------------------

[-- Attachment #4: Type: text/plain, Size: 155 bytes --]

_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2009-07-06 12:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-06 10:15 [LTP] [PATCH] cgroups: conditionally enable building cgroup tests gowrishankar
2009-07-06 11:38 ` Francesco RUNDO [this message]
2009-07-06 12:00   ` gowrishankar
2009-07-06 12:42     ` Francesco RUNDO
2009-07-06 12:55       ` Subrata Modak
2009-07-06 13:05         ` Francesco RUNDO
2009-07-06 17:22     ` Garrett Cooper
2009-07-06 17:28   ` Garrett Cooper
2009-07-06 22:06     ` Mike Frysinger
2009-07-07  6:58       ` Francesco RUNDO
2009-07-07 14:24         ` Mike Frysinger
2009-07-08  7:40           ` Francesco RUNDO
2009-07-07  6:53     ` Francesco RUNDO
2009-07-07  9:11       ` Garrett Cooper
2009-07-06 15:51 ` Subrata Modak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A51E253.200@st.com \
    --to=francesco.rundo@st.com \
    --cc=gomuthuk@linux.vnet.ibm.com \
    --cc=ltp-list@lists.sf.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox