Module Name: src
Committed By: njoly
Date: Wed Jul 3 17:10:28 UTC 2013
Modified Files:
src/sys/rump/librump/rumpkern: locks.c rump.c
Log Message:
Make RUMP_LOCKDEBUG work again.
With some help from pooka@.
To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/rump/librump/rumpkern/locks.c
cvs rdiff -u -r1.270 -r1.271 src/sys/rump/librump/rumpkern/rump.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/locks.c
diff -u src/sys/rump/librump/rumpkern/locks.c:1.64 src/sys/rump/librump/rumpkern/locks.c:1.65
--- src/sys/rump/librump/rumpkern/locks.c:1.64 Wed May 15 14:52:49 2013
+++ src/sys/rump/librump/rumpkern/locks.c Wed Jul 3 17:10:28 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: locks.c,v 1.64 2013/05/15 14:52:49 pooka Exp $ */
+/* $NetBSD: locks.c,v 1.65 2013/07/03 17:10:28 njoly Exp $ */
/*
* Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: locks.c,v 1.64 2013/05/15 14:52:49 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locks.c,v 1.65 2013/07/03 17:10:28 njoly Exp $");
#include <sys/param.h>
#include <sys/kmem.h>
@@ -59,8 +59,8 @@ static lockops_t rw_lockops = {
lockdebug_alloc(lock, ops, (uintptr_t)__builtin_return_address(0))
#define FREELOCK(lock) \
lockdebug_free(lock)
-#define WANTLOCK(lock, shar, try) \
- lockdebug_wantlock(lock, (uintptr_t)__builtin_return_address(0), shar, try)
+#define WANTLOCK(lock, shar) \
+ lockdebug_wantlock(lock, (uintptr_t)__builtin_return_address(0), shar)
#define LOCKED(lock, shar) \
lockdebug_locked(lock, NULL, (uintptr_t)__builtin_return_address(0), shar)
#define UNLOCKED(lock, shar) \
@@ -68,7 +68,7 @@ static lockops_t rw_lockops = {
#else
#define ALLOCK(a, b)
#define FREELOCK(a)
-#define WANTLOCK(a, b, c)
+#define WANTLOCK(a, b)
#define LOCKED(a, b)
#define UNLOCKED(a, b)
#endif
@@ -131,7 +131,7 @@ void
mutex_enter(kmutex_t *mtx)
{
- WANTLOCK(mtx, false, false);
+ WANTLOCK(mtx, 0);
rumpuser_mutex_enter(RUMPMTX(mtx));
LOCKED(mtx, false);
}
@@ -140,7 +140,7 @@ void
mutex_spin_enter(kmutex_t *mtx)
{
- WANTLOCK(mtx, false, false);
+ WANTLOCK(mtx, 0);
rumpuser_mutex_enter_nowrap(RUMPMTX(mtx));
LOCKED(mtx, false);
}
@@ -152,7 +152,7 @@ mutex_tryenter(kmutex_t *mtx)
error = rumpuser_mutex_tryenter(RUMPMTX(mtx));
if (error == 0) {
- WANTLOCK(mtx, false, true);
+ WANTLOCK(mtx, 0);
LOCKED(mtx, false);
}
return error == 0;
@@ -224,7 +224,7 @@ rw_enter(krwlock_t *rw, const krw_t op)
{
- WANTLOCK(rw, op == RW_READER, false);
+ WANTLOCK(rw, op == RW_READER);
rumpuser_rw_enter(krw2rumprw(op), RUMPRW(rw));
LOCKED(rw, op == RW_READER);
}
@@ -236,7 +236,7 @@ rw_tryenter(krwlock_t *rw, const krw_t o
error = rumpuser_rw_tryenter(krw2rumprw(op), RUMPRW(rw));
if (error == 0) {
- WANTLOCK(rw, op == RW_READER, true);
+ WANTLOCK(rw, op == RW_READER);
LOCKED(rw, op == RW_READER);
}
return error == 0;
@@ -264,7 +264,7 @@ rw_tryupgrade(krwlock_t *rw)
rv = rumpuser_rw_tryupgrade(RUMPRW(rw));
if (rv == 0) {
UNLOCKED(rw, 1);
- WANTLOCK(rw, 0, true);
+ WANTLOCK(rw, 0);
LOCKED(rw, 0);
}
return rv == 0;
@@ -276,7 +276,7 @@ rw_downgrade(krwlock_t *rw)
rumpuser_rw_downgrade(RUMPRW(rw));
UNLOCKED(rw, 0);
- WANTLOCK(rw, 1, false);
+ WANTLOCK(rw, 1);
LOCKED(rw, 1);
}
Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.270 src/sys/rump/librump/rumpkern/rump.c:1.271
--- src/sys/rump/librump/rumpkern/rump.c:1.270 Fri May 31 16:16:40 2013
+++ src/sys/rump/librump/rumpkern/rump.c Wed Jul 3 17:10:28 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: rump.c,v 1.270 2013/05/31 16:16:40 pooka Exp $ */
+/* $NetBSD: rump.c,v 1.271 2013/07/03 17:10:28 njoly Exp $ */
/*
* Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.270 2013/05/31 16:16:40 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.271 2013/07/03 17:10:28 njoly Exp $");
#include <sys/systm.h>
#define ELFSIZE ARCH_ELFSIZE
@@ -282,7 +282,6 @@ rump_init(void)
aprint_verbose("%s%s", copyright, version);
rump_intr_init(numcpu);
- rump_tsleep_init();
/* init minimal lwp/cpu context */
l = &lwp0;
@@ -294,6 +293,8 @@ rump_init(void)
rumpuser_curlwpop(RUMPUSER_LWP_CREATE, l);
rumpuser_curlwpop(RUMPUSER_LWP_SET, l);
+ rump_tsleep_init();
+
rumpuser_mutex_init(&rump_giantlock, RUMPUSER_MTX_SPIN);
ksyms_init();
uvm_init();