Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/raidframe rever the previous for now; it hangs recon...
details: https://anonhg.NetBSD.org/src/rev/d3817b787ef0
branches: trunk
changeset: 764716:d3817b787ef0
user: mrg <mrg%NetBSD.org@localhost>
date: Mon May 02 00:39:37 2011 +0000
description:
rever the previous for now; it hangs reconstruction.
diffstat:
sys/dev/raidframe/rf_reconstruct.h | 4 ++--
sys/dev/raidframe/rf_reconutil.c | 8 +++-----
sys/dev/raidframe/rf_revent.c | 24 +++++++++++++-----------
sys/dev/raidframe/rf_threadstuff.h | 4 +---
4 files changed, 19 insertions(+), 21 deletions(-)
diffs (164 lines):
diff -r fee3278afc10 -r d3817b787ef0 sys/dev/raidframe/rf_reconstruct.h
--- a/sys/dev/raidframe/rf_reconstruct.h Mon May 02 00:29:53 2011 +0000
+++ b/sys/dev/raidframe/rf_reconstruct.h Mon May 02 00:39:37 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_reconstruct.h,v 1.25 2011/05/01 10:01:01 mrg Exp $ */
+/* $NetBSD: rf_reconstruct.h,v 1.26 2011/05/02 00:39:37 mrg Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -137,7 +137,7 @@
/* reconstruction event queue */
RF_ReconEvent_t *eventQueue; /* queue of pending reconstruction
* events */
- rf_declare_mutex2(eq_mutex); /* mutex for locking event
+ RF_DECLARE_MUTEX(eq_mutex) /* mutex for locking event
* queue */
int eq_count; /* debug only */
diff -r fee3278afc10 -r d3817b787ef0 sys/dev/raidframe/rf_reconutil.c
--- a/sys/dev/raidframe/rf_reconutil.c Mon May 02 00:29:53 2011 +0000
+++ b/sys/dev/raidframe/rf_reconutil.c Mon May 02 00:39:37 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_reconutil.c,v 1.30 2011/05/01 10:01:01 mrg Exp $ */
+/* $NetBSD: rf_reconutil.c,v 1.31 2011/05/02 00:39:37 mrg Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -31,7 +31,7 @@
********************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_reconutil.c,v 1.30 2011/05/01 10:01:01 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_reconutil.c,v 1.31 2011/05/02 00:39:37 mrg Exp $");
#include <dev/raidframe/raidframevar.h>
@@ -125,7 +125,7 @@
}
/* initialize the event queue */
- rf_init_mutex2(reconCtrlPtr->eq_mutex, IPL_VM);
+ rf_mutex_init(&reconCtrlPtr->eq_mutex);
reconCtrlPtr->eventQueue = NULL;
reconCtrlPtr->eq_count = 0;
@@ -171,8 +171,6 @@
t = reconCtrlPtr->floatingRbufs;
}
- rf_destroy_mutex2(reconCtrlPtr->eq_mutex);
-
rf_FreeReconMap(reconCtrlPtr->reconMap);
rf_FreeParityStripeStatusTable(raidPtr, reconCtrlPtr->pssTable);
RF_Free(reconCtrlPtr->perDiskInfo,
diff -r fee3278afc10 -r d3817b787ef0 sys/dev/raidframe/rf_revent.c
--- a/sys/dev/raidframe/rf_revent.c Mon May 02 00:29:53 2011 +0000
+++ b/sys/dev/raidframe/rf_revent.c Mon May 02 00:39:37 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_revent.c,v 1.26 2011/05/01 10:01:01 mrg Exp $ */
+/* $NetBSD: rf_revent.c,v 1.27 2011/05/02 00:39:37 mrg Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_revent.c,v 1.26 2011/05/01 10:01:01 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_revent.c,v 1.27 2011/05/02 00:39:37 mrg Exp $");
#include <sys/errno.h>
@@ -81,7 +81,7 @@
RF_ReconEvent_t *event;
int stall_count;
- rf_lock_mutex2(rctrl->eq_mutex);
+ RF_LOCK_MUTEX(rctrl->eq_mutex);
/* q null and count==0 must be equivalent conditions */
RF_ASSERT((rctrl->eventQueue == NULL) == (rctrl->eq_count == 0));
@@ -114,8 +114,9 @@
reconDesc->numReconExecDelays++;
#endif /* RF_RECON_STATS > 0 */
- status = rf_sleep("rfrecond", RECON_TIMO,
- rctrl->eq_mutex);
+ status = ltsleep(&reconDesc->reconExecTicks, PRIBIO,
+ "recon delay", RECON_TIMO,
+ &rctrl->eq_mutex);
RF_ASSERT(status == EWOULDBLOCK);
reconDesc->reconExecTicks = 0;
}
@@ -127,7 +128,8 @@
reconDesc->numReconEventWaits++;
#endif /* RF_RECON_STATS > 0 */
- rf_sleep("rfevq", RF_EVENTQ_WAIT, rctrl->eq_mutex);
+ ltsleep(&(rctrl)->eventQueue, PRIBIO, "raidframe eventq",
+ RF_EVENTQ_WAIT, &((rctrl)->eq_mutex));
stall_count++;
@@ -153,7 +155,7 @@
/* q null and count==0 must be equivalent conditions */
RF_ASSERT((rctrl->eventQueue == NULL) == (rctrl->eq_count == 0));
- rf_unlock_mutex2(rctrl->eq_mutex);
+ RF_UNLOCK_MUTEX(rctrl->eq_mutex);
return (event);
}
/* enqueues a reconstruction event on the indicated queue */
@@ -168,13 +170,13 @@
RF_ASSERT(col != rctrl->fcol);
}
RF_ASSERT(col >= 0 && col <= raidPtr->numCol);
- rf_lock_mutex2(rctrl->eq_mutex);
+ RF_LOCK_MUTEX(rctrl->eq_mutex);
/* q null and count==0 must be equivalent conditions */
RF_ASSERT((rctrl->eventQueue == NULL) == (rctrl->eq_count == 0));
event->next = rctrl->eventQueue;
rctrl->eventQueue = event;
rctrl->eq_count++;
- rf_unlock_mutex2(rctrl->eq_mutex);
+ RF_UNLOCK_MUTEX(rctrl->eq_mutex);
wakeup(&(rctrl)->eventQueue);
}
@@ -204,7 +206,7 @@
RF_ReconCtrl_t *rctrl = reconDesc->raidPtr->reconControl;
RF_ReconEvent_t *event;
- rf_lock_mutex2(rctrl->eq_mutex);
+ RF_LOCK_MUTEX(rctrl->eq_mutex);
while (rctrl->eventQueue!=NULL) {
event = rctrl->eventQueue;
@@ -214,7 +216,7 @@
/* dump it */
rf_FreeReconEventDesc(event);
}
- rf_unlock_mutex2(rctrl->eq_mutex);
+ RF_UNLOCK_MUTEX(rctrl->eq_mutex);
}
void
diff -r fee3278afc10 -r d3817b787ef0 sys/dev/raidframe/rf_threadstuff.h
--- a/sys/dev/raidframe/rf_threadstuff.h Mon May 02 00:29:53 2011 +0000
+++ b/sys/dev/raidframe/rf_threadstuff.h Mon May 02 00:39:37 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_threadstuff.h,v 1.27 2011/05/01 10:01:01 mrg Exp $ */
+/* $NetBSD: rf_threadstuff.h,v 1.28 2011/05/02 00:39:37 mrg Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -91,8 +91,6 @@
#define rf_signal_cond2(_c_) cv_signal(&(_c_))
#define rf_broadcast_cond2(_c_) cv_broadcast(&(_c_))
-#define rf_sleep(_w_,_t_,_m_) kpause((_w_), false, (_t_), &(_m_))
-
/*
* In NetBSD, kernel threads are simply processes which share several
* substructures and never run in userspace.
Home |
Main Index |
Thread Index |
Old Index