From 75409ce1dd73241d28f5f8772ddd6c9f43a3ad9d Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Wed, 2 Nov 2016 20:57:20 +0000 Subject: [PATCH] Remove remnants of the recursive sleep support. Instead assert that we never try to sleep while the thread is on a sleepqueue. Reviewed by: jhb Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D8422 --- sys/kern/kern_synch.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index a11743f9e3f..fc02cb39044 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -170,13 +170,7 @@ _sleep(void *ident, struct lock_object *lock, int priority, catch = priority & PCATCH; pri = priority & PRIMASK; - /* - * If we are already on a sleep queue, then remove us from that - * sleep queue first. We have to do this to handle recursive - * sleeps. - */ - if (TD_ON_SLEEPQ(td)) - sleepq_remove(td, td->td_wchan); + KASSERT(!TD_ON_SLEEPQ(td), ("recursive sleep")); if ((uint8_t *)ident >= &pause_wchan[0] && (uint8_t *)ident <= &pause_wchan[MAXCPU - 1])