From 4d3b1ee6dc3ce64ac614ee17e586c050201e9edf Mon Sep 17 00:00:00 2001 From: cl Date: Fri, 7 Nov 2003 18:37:41 +0000 Subject: [PATCH] always set L_SA_UPCALL if the LWP on the VP is asleep --- sys/kern/kern_sa.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/sys/kern/kern_sa.c b/sys/kern/kern_sa.c index 2cf1ca4c0d99..5d9ffc6858b6 100644 --- a/sys/kern/kern_sa.c +++ b/sys/kern/kern_sa.c @@ -1,4 +1,4 @@ -/* $NetBSD: kern_sa.c,v 1.40 2003/11/07 11:59:48 cl Exp $ */ +/* $NetBSD: kern_sa.c,v 1.41 2003/11/07 18:37:41 cl Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: kern_sa.c,v 1.40 2003/11/07 11:59:48 cl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_sa.c,v 1.41 2003/11/07 18:37:41 cl Exp $"); #include #include @@ -1426,25 +1426,7 @@ sa_setwoken(struct lwp *l) setrunnable(vp_lwp); break; } - if (vp_lwp->l_flag & L_SA_YIELD) { - /* - * - about to sleep in sa_yield, will wake up - * - was sleeping in sa_yield, waking up - */ - vp_lwp->l_flag |= L_SA_UPCALL; - } else if ((vp_lwp->l_flag & L_SA) == 0 || - vp_lwp->l_flag & L_SA_PAGEFAULT) { - /* - * - sleep in kernel with upcalls disabled - * - sleep in kernel during pagefault handling - */ - vp_lwp->l_flag |= L_SA_UPCALL; -#ifdef DIAGNOSTIC - } else { - printf("sa_setwoken(%d.%d) vp lwp %d LSSLEEP\n", - l->l_proc->p_pid, l->l_lid, vp_lwp->l_lid); -#endif - } + vp_lwp->l_flag |= L_SA_UPCALL; break; case LSSUSPENDED: #ifdef DIAGNOSTIC