version 1.124, 2007/10/31 15:36:07 |
version 1.125, 2007/11/06 00:42:41 |
Line 84 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 84 __KERNEL_RCSID(0, "$NetBSD$"); |
|
#include <sys/proc.h> |
#include <sys/proc.h> |
#include <sys/lock.h> |
#include <sys/lock.h> |
#include <sys/systm.h> |
#include <sys/systm.h> |
|
#include <sys/kernel.h> |
#include <sys/lockdebug.h> |
#include <sys/lockdebug.h> |
#include <sys/cpu.h> |
#include <sys/cpu.h> |
#include <sys/syslog.h> |
#include <sys/syslog.h> |
Line 325 lockmgr(struct lock *lkp, u_int flags, s |
|
Line 326 lockmgr(struct lock *lkp, u_int flags, s |
|
|
|
/* LK_RETRY is for vn_lock, not for lockmgr. */ |
/* LK_RETRY is for vn_lock, not for lockmgr. */ |
KASSERT((flags & LK_RETRY) == 0); |
KASSERT((flags & LK_RETRY) == 0); |
KASSERT((l->l_flag & LW_INTR) == 0 || panicstr != NULL); |
KASSERT((l->l_pflag & LP_INTR) == 0 || panicstr != NULL); |
|
|
simple_lock(&lkp->lk_interlock); |
simple_lock(&lkp->lk_interlock); |
if (flags & LK_INTERLOCK) |
if (flags & LK_INTERLOCK) |
Line 684 assert_sleepable(struct simplelock *inte |
|
Line 685 assert_sleepable(struct simplelock *inte |
|
if (panicstr != NULL) |
if (panicstr != NULL) |
return; |
return; |
LOCKDEBUG_BARRIER(&kernel_lock, 1); |
LOCKDEBUG_BARRIER(&kernel_lock, 1); |
if (CURCPU_IDLE_P()) { |
if (CURCPU_IDLE_P() && !cold) { |
panic("assert_sleepable: idle"); |
panic("assert_sleepable: idle"); |
} |
} |
} |
} |