diff options
author | kmacy <kmacy@FreeBSD.org> | 2006-12-16 06:54:09 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2006-12-16 06:54:09 +0000 |
commit | 7327d346fcb113617a486207f206df056b5bd56d (patch) | |
tree | 4517eb0f1d912f9b7fa16d26f25614aec2ce42a0 /sys/kern/kern_synch.c | |
parent | 8cd304e218e3d8dae124070e17be881517d28251 (diff) | |
download | FreeBSD-src-7327d346fcb113617a486207f206df056b5bd56d.zip FreeBSD-src-7327d346fcb113617a486207f206df056b5bd56d.tar.gz |
Add second sleep queue so that sx and lockmgr can have separate sleep
queues for shared and exclusive acquisitions
Submitted by: Attilio Rao
Approved by: jhb
Diffstat (limited to 'sys/kern/kern_synch.c')
-rw-r--r-- | sys/kern/kern_synch.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 818d7e3..27fd835 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -189,7 +189,7 @@ msleep(ident, mtx, priority, wmesg, timo) * return from cursig(). */ sleepq_add(ident, ident == &lbolt ? NULL : &mtx->mtx_object, wmesg, - flags); + flags, 0); if (timo) sleepq_set_timeout(ident, timo); @@ -267,7 +267,7 @@ msleep_spin(ident, mtx, wmesg, timo) /* * We put ourselves on the sleep queue and start our timeout. */ - sleepq_add(ident, &mtx->mtx_object, wmesg, SLEEPQ_MSLEEP); + sleepq_add(ident, &mtx->mtx_object, wmesg, SLEEPQ_MSLEEP, 0); if (timo) sleepq_set_timeout(ident, timo); @@ -316,7 +316,7 @@ wakeup(ident) { sleepq_lock(ident); - sleepq_broadcast(ident, SLEEPQ_MSLEEP, -1); + sleepq_broadcast(ident, SLEEPQ_MSLEEP, -1, 0); } /* @@ -330,7 +330,7 @@ wakeup_one(ident) { sleepq_lock(ident); - sleepq_signal(ident, SLEEPQ_MSLEEP, -1); + sleepq_signal(ident, SLEEPQ_MSLEEP, -1, 0); } /* |