Module Name: src
Committed By: pooka
Date: Wed May 15 12:49:33 UTC 2013
Modified Files:
src/sys/rump/librump/rumpkern: ltsleep.c
Log Message:
qlock can now be a regular kernel spin mutex instead of a rumpuser mutex.
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/rump/librump/rumpkern/ltsleep.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/rump/librump/rumpkern/ltsleep.c
diff -u src/sys/rump/librump/rumpkern/ltsleep.c:1.31 src/sys/rump/librump/rumpkern/ltsleep.c:1.32
--- src/sys/rump/librump/rumpkern/ltsleep.c:1.31 Sun Apr 28 13:37:52 2013
+++ src/sys/rump/librump/rumpkern/ltsleep.c Wed May 15 12:49:33 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: ltsleep.c,v 1.31 2013/04/28 13:37:52 pooka Exp $ */
+/* $NetBSD: ltsleep.c,v 1.32 2013/05/15 12:49:33 pooka Exp $ */
/*
* Copyright (c) 2009, 2010 Antti Kantee. All Rights Reserved.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ltsleep.c,v 1.31 2013/04/28 13:37:52 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ltsleep.c,v 1.32 2013/05/15 12:49:33 pooka Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -58,7 +58,7 @@ struct ltsleeper {
#define kcv u.kern
static LIST_HEAD(, ltsleeper) sleepers = LIST_HEAD_INITIALIZER(sleepers);
-static struct rumpuser_mtx *qlock;
+static kmutex_t *qlock;
static int
sleeper(wchan_t ident, int timo, kmutex_t *kinterlock)
@@ -76,9 +76,9 @@ sleeper(wchan_t ident, int timo, kmutex_
rumpuser_cv_init(<s.ucv);
}
- rumpuser_mutex_enter_nowrap(qlock);
+ mutex_spin_enter(&qlock);
LIST_INSERT_HEAD(&sleepers, <s, entries);
- rumpuser_mutex_exit(qlock);
+ mutex_exit(&qlock);
if (timo) {
if (kinterlock) {
@@ -104,9 +104,9 @@ sleeper(wchan_t ident, int timo, kmutex_
rv = 0;
}
- rumpuser_mutex_enter_nowrap(qlock);
+ mutex_spin_enter(&qlock);
LIST_REMOVE(<s, entries);
- rumpuser_mutex_exit(qlock);
+ mutex_exit(&qlock);
if (kinterlock)
cv_destroy(<s.kcv);
@@ -152,7 +152,7 @@ wakeup(wchan_t ident)
{
struct ltsleeper *ltsp;
- rumpuser_mutex_enter_nowrap(qlock);
+ mutex_spin_enter(&qlock);
LIST_FOREACH(ltsp, &sleepers, entries) {
if (ltsp->id == ident) {
if (ltsp->iskwait) {
@@ -162,12 +162,12 @@ wakeup(wchan_t ident)
}
}
}
- rumpuser_mutex_exit(qlock);
+ mutex_exit(&qlock);
}
void
rump_tsleep_init()
{
- rumpuser_mutex_init(&qlock, RUMPUSER_MTX_SPIN);
+ mutex_init(&qlock, MUTEX_SPIN, IPL_NONE);
}