Module Name: src Committed By: rmind Date: Fri Jun 22 12:45:43 UTC 2012
Modified Files: src/sys/rump/librump/rumpkern: Makefile.rumpkern rumpcpu_generic.c scheduler.c Log Message: rumpkern: - Add subr_kcpuset.c and subr_pserialize.c modules. - Add kcpuset_{running,attached} for RUMP env. To generate a diff of this commit: cvs rdiff -u -r1.117 -r1.118 src/sys/rump/librump/rumpkern/Makefile.rumpkern cvs rdiff -u -r1.3 -r1.4 src/sys/rump/librump/rumpkern/rumpcpu_generic.c cvs rdiff -u -r1.27 -r1.28 src/sys/rump/librump/rumpkern/scheduler.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/librump/rumpkern/Makefile.rumpkern diff -u src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.117 src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.118 --- src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.117 Sun Apr 29 02:29:41 2012 +++ src/sys/rump/librump/rumpkern/Makefile.rumpkern Fri Jun 22 12:45:43 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.rumpkern,v 1.117 2012/04/29 02:29:41 rmind Exp $ +# $NetBSD: Makefile.rumpkern,v 1.118 2012/06/22 12:45:43 rmind Exp $ # .include "${RUMPTOP}/Makefile.rump" @@ -91,11 +91,13 @@ SRCS+= init_sysctl_base.c \ subr_hash.c \ subr_humanize.c \ subr_iostat.c \ + subr_kcpuset.c \ subr_kobj.c \ subr_log.c \ subr_lwp_specificdata.c \ subr_once.c \ subr_prf.c \ + subr_pserialize.c \ subr_specificdata.c \ subr_time.c \ subr_workqueue.c \ Index: src/sys/rump/librump/rumpkern/rumpcpu_generic.c diff -u src/sys/rump/librump/rumpkern/rumpcpu_generic.c:1.3 src/sys/rump/librump/rumpkern/rumpcpu_generic.c:1.4 --- src/sys/rump/librump/rumpkern/rumpcpu_generic.c:1.3 Tue Jan 4 16:23:36 2011 +++ src/sys/rump/librump/rumpkern/rumpcpu_generic.c Fri Jun 22 12:45:43 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpcpu_generic.c,v 1.3 2011/01/04 16:23:36 pooka Exp $ */ +/* $NetBSD: rumpcpu_generic.c,v 1.4 2012/06/22 12:45:43 rmind Exp $ */ /* * Copyright (c) 2009 Antti Kantee. All Rights Reserved. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rumpcpu_generic.c,v 1.3 2011/01/04 16:23:36 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rumpcpu_generic.c,v 1.4 2012/06/22 12:45:43 rmind Exp $"); #include <sys/param.h> @@ -47,4 +47,7 @@ rump_cpu_attach(struct cpu_info *ci) rumpcpu_info_list = ci; ci->ci_index = nattached++; + + kcpuset_set(kcpuset_attached, cpu_index(ci)); + kcpuset_set(kcpuset_running, cpu_index(ci)); } Index: src/sys/rump/librump/rumpkern/scheduler.c diff -u src/sys/rump/librump/rumpkern/scheduler.c:1.27 src/sys/rump/librump/rumpkern/scheduler.c:1.28 --- src/sys/rump/librump/rumpkern/scheduler.c:1.27 Mon Oct 31 13:17:22 2011 +++ src/sys/rump/librump/rumpkern/scheduler.c Fri Jun 22 12:45:43 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: scheduler.c,v 1.27 2011/10/31 13:17:22 yamt Exp $ */ +/* $NetBSD: scheduler.c,v 1.28 2012/06/22 12:45:43 rmind Exp $ */ /* * Copyright (c) 2010, 2011 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: scheduler.c,v 1.27 2011/10/31 13:17:22 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: scheduler.c,v 1.28 2012/06/22 12:45:43 rmind Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -68,7 +68,10 @@ static struct rumpcpu { int rcpu_align[0] __aligned(CACHE_LINE_SIZE); } rcpu_storage[MAXCPUS]; + struct cpu_info *rump_cpu = &rump_cpus[0]; +kcpuset_t *kcpuset_attached = NULL; +kcpuset_t *kcpuset_running = NULL; int ncpu; #define RCPULWP_BUSY ((void *)-1) @@ -141,6 +144,9 @@ rump_cpus_bootstrap(int *nump) ci->ci_index = i; } + kcpuset_create(&kcpuset_attached, true); + kcpuset_create(&kcpuset_running, true); + /* attach first cpu for bootstrap */ rump_cpu_attach(&rump_cpus[0]); ncpu = 1;