Module Name:    src
Committed By:   mrg
Date:           Thu May  5 08:21:29 UTC 2011

Modified Files:
        src/sys/dev/raidframe: rf_stripelocks.c rf_stripelocks.h

Log Message:
convert stripelocks to kmutex.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/dev/raidframe/rf_stripelocks.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/raidframe/rf_stripelocks.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/dev/raidframe/rf_stripelocks.c
diff -u src/sys/dev/raidframe/rf_stripelocks.c:1.31 src/sys/dev/raidframe/rf_stripelocks.c:1.32
--- src/sys/dev/raidframe/rf_stripelocks.c:1.31	Sat Apr 30 01:44:36 2011
+++ src/sys/dev/raidframe/rf_stripelocks.c	Thu May  5 08:21:29 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_stripelocks.c,v 1.31 2011/04/30 01:44:36 mrg Exp $	*/
+/*	$NetBSD: rf_stripelocks.c,v 1.32 2011/05/05 08:21:29 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -57,7 +57,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_stripelocks.c,v 1.31 2011/04/30 01:44:36 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_stripelocks.c,v 1.32 2011/05/05 08:21:29 mrg Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -182,6 +182,17 @@
 	return (0);
 }
 
+static void
+rf_DestroyLockTable(RF_LockTableEntry_t *lockTable)
+{
+	int     i;
+
+	for (i = 0; i < rf_lockTableSize; i++) {
+		rf_destroy_mutex2(lockTable[i].mutex);
+	}
+	RF_Free(lockTable, rf_lockTableSize * sizeof(RF_LockTableEntry_t));
+}
+
 static RF_LockTableEntry_t *
 rf_MakeLockTable(void)
 {
@@ -194,7 +205,7 @@
 	if (lockTable == NULL)
 		return (NULL);
 	for (i = 0; i < rf_lockTableSize; i++) {
-		rf_mutex_init(&lockTable[i].mutex);
+		rf_init_mutex2(lockTable[i].mutex, IPL_VM);
 	}
 	return (lockTable);
 }
@@ -208,7 +219,7 @@
 		PrintLockedStripes(lockTable);
 	}
 #endif
-	RF_Free(lockTable, rf_lockTableSize * sizeof(RF_LockTableEntry_t));
+	rf_DestroyLockTable(lockTable);
 }
 
 static void
@@ -268,7 +279,7 @@
 	lockReqDesc->next = NULL;	/* just to be sure */
 	newlockDesc = AllocStripeLockDesc(stripeID);
 
-	RF_LOCK_MUTEX(lockTable[hashval].mutex);
+	rf_lock_mutex2(lockTable[hashval].mutex);
 	for (lockDesc = lockTable[hashval].descList; lockDesc;
 	     lockDesc = lockDesc->next) {
 		if (lockDesc->stripeID == stripeID)
@@ -354,7 +365,7 @@
 		}
 	}
 
-	RF_UNLOCK_MUTEX(lockTable[hashval].mutex);
+	rf_unlock_mutex2(lockTable[hashval].mutex);
 	return (retcode);
 }
 
@@ -387,7 +398,7 @@
 	if (stripeID == -1)
 		return;
 
-	RF_LOCK_MUTEX(lockTable[hashval].mutex);
+	rf_lock_mutex2(lockTable[hashval].mutex);
 
 	/* find the stripe lock descriptor */
 	for (ld_t = NULL, lockDesc = lockTable[hashval].descList;
@@ -600,7 +611,7 @@
 		FreeStripeLockDesc(lockDesc);
 		lockDesc = NULL;/* only for the ASSERT below */
 	}
-	RF_UNLOCK_MUTEX(lockTable[hashval].mutex);
+	rf_unlock_mutex2(lockTable[hashval].mutex);
 
 	/* now that we've unlocked the mutex, invoke the callback on
 	 * all the descriptors in the list */

Index: src/sys/dev/raidframe/rf_stripelocks.h
diff -u src/sys/dev/raidframe/rf_stripelocks.h:1.7 src/sys/dev/raidframe/rf_stripelocks.h:1.8
--- src/sys/dev/raidframe/rf_stripelocks.h:1.7	Sun Dec 11 12:23:37 2005
+++ src/sys/dev/raidframe/rf_stripelocks.h	Thu May  5 08:21:29 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_stripelocks.h,v 1.7 2005/12/11 12:23:37 christos Exp $	*/
+/*	$NetBSD: rf_stripelocks.h,v 1.8 2011/05/05 08:21:29 mrg Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -75,7 +75,7 @@
 };
 
 struct RF_LockTableEntry_s {
-	RF_DECLARE_MUTEX(mutex)	/* mutex on this hash chain */
+	rf_declare_mutex2(mutex);	/* mutex on this hash chain */
 	RF_StripeLockDesc_t *descList;	/* hash chain of lock descriptors */
 };
 /*

Reply via email to