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;
 

Reply via email to