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;