Module Name: src
Committed By: matt
Date: Thu Feb 17 18:44:54 UTC 2011
Modified Files:
src/sys/kern: subr_pcu.c
src/sys/sys: pcu.h
Log Message:
Add a bool to pcu_state_save which indicates whether the PCU is going to be
released after the save is done.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/kern/subr_pcu.c
cvs rdiff -u -r1.1 -r1.2 src/sys/sys/pcu.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/subr_pcu.c
diff -u src/sys/kern/subr_pcu.c:1.1 src/sys/kern/subr_pcu.c:1.2
--- src/sys/kern/subr_pcu.c:1.1 Thu Feb 17 18:32:29 2011
+++ src/sys/kern/subr_pcu.c Thu Feb 17 18:44:54 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_pcu.c,v 1.1 2011/02/17 18:32:29 rmind Exp $ */
+/* $NetBSD: subr_pcu.c,v 1.2 2011/02/17 18:44:54 matt Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_pcu.c,v 1.1 2011/02/17 18:32:29 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_pcu.c,v 1.2 2011/02/17 18:44:54 matt Exp $");
#include <sys/param.h>
#include <sys/cpu.h>
@@ -98,7 +98,7 @@
return;
}
if (flags & PCU_SAVE) {
- pcu->pcu_state_save(l);
+ pcu->pcu_state_save(l, (flags & PCU_RELEASE) != 0);
}
if (flags & PCU_RELEASE) {
ci->ci_pcu_curlwp[id] = NULL;
@@ -131,7 +131,7 @@
KASSERT(ci->ci_pcu_curlwp[id] == l);
if (flags & PCU_SAVE) {
- pcu->pcu_state_save(l);
+ pcu->pcu_state_save(l, (flags & PCU_RELEASE) != 0);
}
if (flags & PCU_RELEASE) {
ci->ci_pcu_curlwp[id] = NULL;
Index: src/sys/sys/pcu.h
diff -u src/sys/sys/pcu.h:1.1 src/sys/sys/pcu.h:1.2
--- src/sys/sys/pcu.h:1.1 Thu Feb 17 18:32:29 2011
+++ src/sys/sys/pcu.h Thu Feb 17 18:44:54 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: pcu.h,v 1.1 2011/02/17 18:32:29 rmind Exp $ */
+/* $NetBSD: pcu.h,v 1.2 2011/02/17 18:44:54 matt Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -45,7 +45,7 @@
typedef struct {
u_int pcu_id;
- void (*pcu_state_save)(lwp_t *);
+ void (*pcu_state_save)(lwp_t *, bool);
void (*pcu_state_load)(lwp_t *, bool);
} pcu_ops_t;