Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/kern/sys_lwp.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/kern/sys_lwp.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.12.2.9 retrieving revision 1.12.2.10 diff -u -p -r1.12.2.9 -r1.12.2.10 --- src/sys/kern/sys_lwp.c 2007/10/09 15:22:22 1.12.2.9 +++ src/sys/kern/sys_lwp.c 2007/10/16 10:47:48 1.12.2.10 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_lwp.c,v 1.12.2.9 2007/10/09 15:22:22 ad Exp $ */ +/* $NetBSD: sys_lwp.c,v 1.12.2.10 2007/10/16 10:47:48 ad Exp $ */ /*- * Copyright (c) 2001, 2006, 2007 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.12.2.9 2007/10/09 15:22:22 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.12.2.10 2007/10/16 10:47:48 ad Exp $"); #include #include @@ -655,18 +655,14 @@ sys__lwp_unpark_all(struct lwp *l, void if (sz <= sizeof(targets)) tp = targets; else { - KERNEL_LOCK(1, l); /* XXXSMP */ tp = kmem_alloc(sz, KM_SLEEP); - KERNEL_UNLOCK_ONE(l); /* XXXSMP */ if (tp == NULL) return ENOMEM; } error = copyin(SCARG(uap, targets), tp, sz); if (error != 0) { if (tp != targets) { - KERNEL_LOCK(1, l); /* XXXSMP */ kmem_free(tp, sz); - KERNEL_UNLOCK_ONE(l); /* XXXSMP */ } return error; } @@ -725,11 +721,8 @@ sys__lwp_unpark_all(struct lwp *l, void } sleepq_unlock(sq); - if (tp != targets) { - KERNEL_LOCK(1, l); /* XXXSMP */ + if (tp != targets) kmem_free(tp, sz); - KERNEL_UNLOCK_ONE(l); /* XXXSMP */ - } if (swapin) uvm_kick_scheduler();