Date: Thu, 04 Sep 2008 15:41:19 +0800 From: David Xu <davidxu@freebsd.org> To: FreeBSD Current <freebsd-current@freebsd.org> Subject: lockmgr_args, lock order reversal: (sleepable after non-sleepable) Message-ID: <48BF911F.4000600@freebsd.org>
next in thread | raw e-mail | index | archive | help
I saw so many LORs like following, I think this is a false reporting because the interlock is released by lockmgr whether the thread is blocked or not, shouldn't WITNESS_CHECKORDER bypass this interlock ? lock order reversal: (sleepable after non-sleepable) 1st 0xc48d728c vnode interlock (vnode interlock) @ fs/devfs/devfs_vnops.c:286 2nd 0xc48d7270 devfs (devfs) @ kern/vfs_subr.c:2051 KDB: stack backtrace: db_trace_self_wrapper(c0b6d1e1,c4199a2c,c07f1d35,4,c0b68bf7,...) at db_trace_self_wrapper+0x26 kdb_backtrace(4,c0b68bf7,c0de8a58,c44768d0,c4199b64,...) at kdb_backtrace+0x29 _witness_debugger(c0b6fa7b,c48d6000,c0b761c4,c44768d0,c0b7679d,...) at _witness_debugger+0x25 witness_checkorder(c48d6000,1,c0b76794,174,c0b68bf7,...) at witness_checkorder+0x7c9 __lockmgr_args(c48d6000,200100,c48d601c,0,0,...) at __lockmgr_args+0x230 vfs_busy(c48d6000,200,0,1,c44c6d20,...) at vfs_busy+0x1bc vfs_mount_alloc(0,c0c3bae0,c0b7653a,c44b1400,c0831580,...) at vfs_mount_alloc+0x74 vfs_mountroot(c0caef30,4,c0b64bc9,264,0,...) at vfs_mountroot+0x272 start_init(0,c4199d38,c0b66578,322,c44c4d0c,...) at start_init+0x65 fork_exit(c077a040,0,c4199d38) at fork_exit+0xb8 David Xu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48BF911F.4000600>