Module Name:    src
Committed By:   mrg
Date:           Sun May  1 01:09:05 UTC 2011

Modified Files:
        src/sys/dev/raidframe: rf_copyback.c rf_mcpair.c rf_mcpair.h
            rf_parityscan.c rf_raid1.c

Log Message:
convert mcpair to kmutex.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/raidframe/rf_copyback.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/raidframe/rf_mcpair.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/raidframe/rf_mcpair.h
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/raidframe/rf_parityscan.c
cvs rdiff -u -r1.32 -r1.33 src/sys/dev/raidframe/rf_raid1.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/dev/raidframe/rf_copyback.c
diff -u src/sys/dev/raidframe/rf_copyback.c:1.45 src/sys/dev/raidframe/rf_copyback.c:1.46
--- src/sys/dev/raidframe/rf_copyback.c:1.45	Sat Feb 19 07:11:09 2011
+++ src/sys/dev/raidframe/rf_copyback.c	Sun May  1 01:09:05 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_copyback.c,v 1.45 2011/02/19 07:11:09 enami Exp $	*/
+/*	$NetBSD: rf_copyback.c,v 1.46 2011/05/01 01:09:05 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -38,7 +38,7 @@
  ****************************************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_copyback.c,v 1.45 2011/02/19 07:11:09 enami Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_copyback.c,v 1.46 2011/05/01 01:09:05 mrg Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -350,17 +350,17 @@
 	 * pair to complete. in the simulator, just return, since everything
 	 * will happen as callbacks */
 
-	RF_LOCK_MUTEX(desc->mcpair->mutex);
+	RF_LOCK_MCPAIR(desc->mcpair);
 	desc->mcpair->flag = 0;
-	RF_UNLOCK_MUTEX(desc->mcpair->mutex);
+	RF_UNLOCK_MCPAIR(desc->mcpair);
 
 	rf_DiskIOEnqueue(&raidPtr->Queues[spCol], desc->readreq, RF_IO_NORMAL_PRIORITY);
 
-	RF_LOCK_MUTEX(desc->mcpair->mutex);
+	RF_LOCK_MCPAIR(desc->mcpair);
 	while (!desc->mcpair->flag) {
 		RF_WAIT_MCPAIR(desc->mcpair);
 	}
-	RF_UNLOCK_MUTEX(desc->mcpair->mutex);
+	RF_UNLOCK_MCPAIR(desc->mcpair);
 	rf_FreeDiskQueueData(desc->readreq);
 	rf_FreeDiskQueueData(desc->writereq);
 

Index: src/sys/dev/raidframe/rf_mcpair.c
diff -u src/sys/dev/raidframe/rf_mcpair.c:1.23 src/sys/dev/raidframe/rf_mcpair.c:1.24
--- src/sys/dev/raidframe/rf_mcpair.c:1.23	Sat Apr 30 01:44:36 2011
+++ src/sys/dev/raidframe/rf_mcpair.c	Sun May  1 01:09:05 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_mcpair.c,v 1.23 2011/04/30 01:44:36 mrg Exp $	*/
+/*	$NetBSD: rf_mcpair.c,v 1.24 2011/05/01 01:09:05 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_mcpair.c,v 1.23 2011/04/30 01:44:36 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_mcpair.c,v 1.24 2011/05/01 01:09:05 mrg Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -75,8 +75,8 @@
 	RF_MCPair_t *t;
 
 	t = pool_get(&rf_pools.mcpair, PR_WAITOK);
-	rf_mutex_init(&t->mutex);
-	t->cond = 0;
+	rf_init_mutex2(t->mutex, IPL_VM);
+	rf_init_cond2(t->cond, "mcpair");
 	t->flag = 0;
 
 	return (t);
@@ -85,6 +85,8 @@
 void
 rf_FreeMCPair(RF_MCPair_t *t)
 {
+	rf_destroy_cond2(t->cond);
+	rf_destroy_mutex2(t->mutex);
 	pool_put(&rf_pools.mcpair, t);
 }
 
@@ -93,8 +95,8 @@
 void
 rf_MCPairWakeupFunc(RF_MCPair_t *mcpair)
 {
-	RF_LOCK_MUTEX(mcpair->mutex);
+	RF_LOCK_MCPAIR(mcpair);
 	mcpair->flag = 1;
-	wakeup(&(mcpair->cond));
-	RF_UNLOCK_MUTEX(mcpair->mutex);
+	rf_broadcast_cond2(mcpair->cond);
+	RF_UNLOCK_MCPAIR(mcpair);
 }

Index: src/sys/dev/raidframe/rf_mcpair.h
diff -u src/sys/dev/raidframe/rf_mcpair.h:1.9 src/sys/dev/raidframe/rf_mcpair.h:1.10
--- src/sys/dev/raidframe/rf_mcpair.h:1.9	Sun Dec 11 12:23:37 2005
+++ src/sys/dev/raidframe/rf_mcpair.h	Sun May  1 01:09:05 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_mcpair.h,v 1.9 2005/12/11 12:23:37 christos Exp $	*/
+/*	$NetBSD: rf_mcpair.h,v 1.10 2011/05/01 01:09:05 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -37,12 +37,13 @@
 #include "rf_threadstuff.h"
 
 struct RF_MCPair_s {
-	RF_DECLARE_MUTEX(mutex)
-	RF_DECLARE_COND(cond)
+	rf_declare_mutex2(mutex);
+	rf_declare_cond2(cond);
 	int     flag;
 };
-#define RF_WAIT_MCPAIR(_mcp) \
-	ltsleep(&((_mcp)->cond), PRIBIO, "mcpair", 0, &((_mcp)->mutex))
+#define RF_WAIT_MCPAIR(_mcp)	rf_wait_cond2((_mcp)->cond, (_mcp)->mutex)
+#define RF_LOCK_MCPAIR(_mcp)	rf_lock_mutex2((_mcp)->mutex)
+#define RF_UNLOCK_MCPAIR(_mcp)	rf_unlock_mutex2((_mcp)->mutex)
 
 int     rf_ConfigureMCPair(RF_ShutdownList_t ** listp);
 RF_MCPair_t *rf_AllocMCPair(void);

Index: src/sys/dev/raidframe/rf_parityscan.c
diff -u src/sys/dev/raidframe/rf_parityscan.c:1.33 src/sys/dev/raidframe/rf_parityscan.c:1.34
--- src/sys/dev/raidframe/rf_parityscan.c:1.33	Tue Nov 17 18:54:26 2009
+++ src/sys/dev/raidframe/rf_parityscan.c	Sun May  1 01:09:05 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_parityscan.c,v 1.33 2009/11/17 18:54:26 jld Exp $	*/
+/*	$NetBSD: rf_parityscan.c,v 1.34 2011/05/01 01:09:05 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -33,7 +33,7 @@
  ****************************************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_parityscan.c,v 1.33 2009/11/17 18:54:26 jld Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_parityscan.c,v 1.34 2011/05/01 01:09:05 mrg Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -262,17 +262,17 @@
 		rf_PrintDAGList(rd_dag_h);
 	}
 #endif
-	RF_LOCK_MUTEX(mcpair->mutex);
+	RF_LOCK_MCPAIR(mcpair);
 	mcpair->flag = 0;
-	RF_UNLOCK_MUTEX(mcpair->mutex);
+	RF_UNLOCK_MCPAIR(mcpair);
 
 	rf_DispatchDAG(rd_dag_h, (void (*) (void *)) rf_MCPairWakeupFunc,
 	    (void *) mcpair);
 
-	RF_LOCK_MUTEX(mcpair->mutex);
+	RF_LOCK_MCPAIR(mcpair);
 	while (!mcpair->flag)
-		RF_WAIT_COND(mcpair->cond, mcpair->mutex);
-	RF_UNLOCK_MUTEX(mcpair->mutex);
+		RF_WAIT_MCPAIR(mcpair);
+	RF_UNLOCK_MCPAIR(mcpair);
 	if (rd_dag_h->status != rf_enable) {
 		RF_ERRORMSG("Unable to verify parity:  can't read the stripe\n");
 		retcode = RF_PARITY_COULD_NOT_VERIFY;
@@ -308,17 +308,17 @@
 			rf_PrintDAGList(wr_dag_h);
 		}
 #endif
-		RF_LOCK_MUTEX(mcpair->mutex);
+		RF_LOCK_MCPAIR(mcpair);
 		mcpair->flag = 0;
-		RF_UNLOCK_MUTEX(mcpair->mutex);
+		RF_UNLOCK_MCPAIR(mcpair);
 
 		rf_DispatchDAG(wr_dag_h, (void (*) (void *)) rf_MCPairWakeupFunc,
 		    (void *) mcpair);
 
-		RF_LOCK_MUTEX(mcpair->mutex);
+		RF_LOCK_MCPAIR(mcpair);
 		while (!mcpair->flag)
-			RF_WAIT_COND(mcpair->cond, mcpair->mutex);
-		RF_UNLOCK_MUTEX(mcpair->mutex);
+			RF_WAIT_MCPAIR(mcpair);
+		RF_UNLOCK_MCPAIR(mcpair);
 		if (wr_dag_h->status != rf_enable) {
 			RF_ERRORMSG("Unable to correct parity in VerifyParity:  can't write the stripe\n");
 			retcode = RF_PARITY_COULD_NOT_CORRECT;

Index: src/sys/dev/raidframe/rf_raid1.c
diff -u src/sys/dev/raidframe/rf_raid1.c:1.32 src/sys/dev/raidframe/rf_raid1.c:1.33
--- src/sys/dev/raidframe/rf_raid1.c:1.32	Thu Apr 15 15:49:00 2010
+++ src/sys/dev/raidframe/rf_raid1.c	Sun May  1 01:09:05 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_raid1.c,v 1.32 2010/04/15 15:49:00 oster Exp $	*/
+/*	$NetBSD: rf_raid1.c,v 1.33 2011/05/01 01:09:05 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -33,7 +33,7 @@
  *****************************************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_raid1.c,v 1.32 2010/04/15 15:49:00 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_raid1.c,v 1.33 2011/05/01 01:09:05 mrg Exp $");
 
 #include "rf_raid.h"
 #include "rf_raid1.h"
@@ -378,18 +378,18 @@
 		rf_PrintDAGList(rd_dag_h);
 	}
 #endif
-	RF_LOCK_MUTEX(mcpair->mutex);
+	RF_LOCK_MCPAIR(mcpair);
 	mcpair->flag = 0;
-	RF_UNLOCK_MUTEX(mcpair->mutex);
+	RF_UNLOCK_MCPAIR(mcpair);
 
 	rf_DispatchDAG(rd_dag_h, (void (*) (void *)) rf_MCPairWakeupFunc,
 	    (void *) mcpair);
 
-	RF_LOCK_MUTEX(mcpair->mutex);
+	RF_LOCK_MCPAIR(mcpair);
 	while (mcpair->flag == 0) {
 		RF_WAIT_MCPAIR(mcpair);
 	}
-	RF_UNLOCK_MUTEX(mcpair->mutex);
+	RF_UNLOCK_MCPAIR(mcpair);
 
 	if (rd_dag_h->status != rf_enable) {
 		RF_ERRORMSG("Unable to verify raid1 parity: can't read stripe\n");
@@ -497,19 +497,19 @@
 			rf_PrintDAGList(wr_dag_h);
 		}
 #endif
-		RF_LOCK_MUTEX(mcpair->mutex);
+		RF_LOCK_MCPAIR(mcpair);
 		mcpair->flag = 0;
-		RF_UNLOCK_MUTEX(mcpair->mutex);
+		RF_UNLOCK_MCPAIR(mcpair);
 
 		/* fire off the write DAG */
 		rf_DispatchDAG(wr_dag_h, (void (*) (void *)) rf_MCPairWakeupFunc,
 		    (void *) mcpair);
 
-		RF_LOCK_MUTEX(mcpair->mutex);
+		RF_LOCK_MCPAIR(mcpair);
 		while (!mcpair->flag) {
-			RF_WAIT_COND(mcpair->cond, mcpair->mutex);
+			RF_WAIT_MCPAIR(mcpair);
 		}
-		RF_UNLOCK_MUTEX(mcpair->mutex);
+		RF_UNLOCK_MCPAIR(mcpair);
 		if (wr_dag_h->status != rf_enable) {
 			RF_ERRORMSG("Unable to correct RAID1 parity in VerifyParity\n");
 			goto done;

Reply via email to