LOR: so_snd_sx vs bufwait
John Baldwin
jhb at freebsd.org
Thu Aug 27 14:16:48 UTC 2009
On Thursday 27 August 2009 7:34:03 am Robert Watson wrote:
>
> On Thu, 27 Aug 2009, pluknet wrote:
>
> > This is a FreeBSD 9.0-CURRENT i386. The LOR was caught via stress2 suite. I
> > guess sblock() (uipc_sockbuf.c:148 here) was called from sosend_generic()
> > (which is at line uipc_socket.c:1436).
>
> This is probably the "right" order, as opposed to the wrong one. Could you
> look at witness's dynamic order information in DDB or via sysctl and see what
> the "other" order is? Alternatively, hard-code this harder in subr_witness
> and then the other order will be reported instead.
I suspect the NFS client will perform socket I/O while holding a buffer
which would give the other order. I'm not sure you can trigger a deadlock
as a socket used for NFS is never read/written to directly by userland
however.
--
John Baldwin
More information about the freebsd-current
mailing list