On Fri, 2009-06-19 at 16:14 +0200, Jiri Palecek > wrote:
> Code shamelessly taken from clone01 test
>
> Signed-off-by: Jiri Palecek <[email protected]>
Thanks.
Regards--
Subrata
> ---
> .../kernel/controllers/cgroup/clone_platform.h | 34
> ++++++++++++++++++++
> testcases/kernel/controllers/cgroup/test_6_2.c | 12 ++++++-
> 2 files changed, 45 insertions(+), 1 deletions(-)
> create mode 100644 testcases/kernel/controllers/cgroup/clone_platform.h
>
> diff --git a/testcases/kernel/controllers/cgroup/clone_platform.h
> b/testcases/kernel/controllers/cgroup/clone_platform.h
> new file mode 100644
> index 0000000..1785dd1
> --- /dev/null
> +++ b/testcases/kernel/controllers/cgroup/clone_platform.h
> @@ -0,0 +1,34 @@
> +/*
> + * Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved.
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of version 2 of the GNU General Public License as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it would be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> + *
> + * You should have received a copy of the GNU General Public License along
> + * with this program; if not, write the Free Software Foundation, Inc., 59
> + * Temple Place - Suite 330, Boston MA 02111-1307, USA.
> + *
> + */
> +/* Common platform specific defines for the clone system call tests */
> +
> +//#define CHILD_STACK_SIZE 8192
> +#define CHILD_STACK_SIZE 16384
> +
> +#if defined (__s390__) || (__s390x__)
> +#define clone __clone
> +extern int __clone(int(void*),void*,int,void*);
> +#elif defined(__ia64__)
> +#define clone2 __clone2
> +/* Prototype provided by David Mosberger */
> +/* int __clone2(int (*fn) (void *arg), void *child_stack_base,
> */
> +/* size_t child_stack_size, int flags, void *arg, */
> +/* pid_t *parent_tid, void *tls, pid_t *child_tid) */
> +extern int __clone2(int (*fn) (void *arg), void *child_stack_base,
> + size_t child_stack_size, int flags, void *arg,
> + pid_t *parent_tid, void *tls, pid_t *child_tid);
> +#endif
> diff --git a/testcases/kernel/controllers/cgroup/test_6_2.c
> b/testcases/kernel/controllers/cgroup/test_6_2.c
> index e5bddb2..79f5c20 100644
> --- a/testcases/kernel/controllers/cgroup/test_6_2.c
> +++ b/testcases/kernel/controllers/cgroup/test_6_2.c
> @@ -24,6 +24,8 @@
> #include <unistd.h>
> #include <sched.h>
>
> +#include "clone_platform.h"
> +
> #define DEFAULT_USEC 30000
>
> int foo(void __attribute__((unused)) *arg)
> @@ -42,7 +44,15 @@ int main(int argc, char **argv)
>
> while (1) {
> usleep(usec);
> - clone(foo, stack+4096, CLONE_NEWNS, NULL);
> +#if defined(__hppa__)
> + clone(foo, stack, CLONE_NEWNS, NULL);
> +#elif defined(__ia64__)
> + clone2(foo, stack,
> + 4096, CLONE_NEWNS, NULL, NULL, NULL, NULL);
> +#else
> + clone
> + (foo, stack + 4096, CLONE_NEWNS, NULL);
> +#endif
> }
>
> return 0;
------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list