Re: LOR: so_snd_sx vs bufwait

From: John Baldwin <jhb_at_freebsd.org>
Date: Thu, 27 Aug 2009 08:27:03 -0400
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
Received on Thu Aug 27 2009 - 12:16:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC