uma_zalloc_arg complaining about non-sleepable locks

Marius Strobl marius at alchemy.franken.de
Sat Jan 30 14:44:37 UTC 2010


On Wed, Jan 27, 2010 at 12:52:29PM +0100, Marius Strobl wrote:
> On Wed, Jan 27, 2010 at 05:36:49PM +1100, Peter Jeremy wrote:
> > On 2010-Jan-26 15:10:59 -0500, John Baldwin <jhb at freebsd.org> wrote:
> > >On Tuesday 26 January 2010 1:37:56 pm Marius Strobl wrote:
> > >> On Tue, Jan 26, 2010 at 09:46:44AM -0500, John Baldwin wrote:
> > >> > On Tuesday 26 January 2010 2:33:37 am Peter Jeremy wrote:
> > >> > > I have just upgraded to 8-STABLE/amd64 from about 18 hours ago and am
> > >> > > now getting regular (the following pair of messages about every
> > >> > > minute) compaints as follows:
> > >> > > 
> > >> > > kernel: uma_zalloc_arg: zone "mbuf" with the following non-sleepable locks held:
> > >> > > kernel: exclusive sleep mutex sp_lock (sp_lock) r = 0 (0xffffff000460bb00) locked @ /usr/src/sys/rpc/svc.c:1098
> > ...
> > >> Could you please give the following patch a try?
> > >> http://people.freebsd.org/~marius/fha_extract_info_realign2.diff
> > 
> > That seems to have fixed it - I've booted the new kernel and generated
> > some NFS activity and am not getting any messages.  Also,
> > vfs.nfs.realign_test is incrementing nicely though
> > vfs.nfs.realign_count remains at zero.
> > 
> 
> Ah, I forgot that using nfsm_aligned() causes nfs_realign() to
> be a NOP on architectures without strict alignment requirements
> for performance reasons. That's generally fine but unfortunately
> that way you don't actually exercise the code which caused the
> problem before (unfortunately I still don't manage to hit the
> unaligned case myself).
> Could you please test with #ifdef __NO_STRICT_ALIGNMENT replaced
> with #if 0 in sys/nfs/nfs_common.h? The vfs.nfs.realign_count
> counter should also increase then.
> 

How did that work out?

Marius
 


More information about the freebsd-stable mailing list