Date: Wed, 27 Jan 2010 12:52:29 +0100 From: Marius Strobl <marius@alchemy.franken.de> To: Peter Jeremy <peterjeremy@acm.org> Cc: rmacklem@freebsd.org, dfr@freebsd.org, freebsd-stable@freebsd.org, John Baldwin <jhb@freebsd.org> Subject: Re: uma_zalloc_arg complaining about non-sleepable locks Message-ID: <20100127115229.GD40779@alchemy.franken.de> In-Reply-To: <20100127063649.GA1889@server.vk2pj.dyndns.org> References: <20100126073336.GA1955@server.vk2pj.dyndns.org> <201001260946.44977.jhb@freebsd.org> <20100126183756.GA40779@alchemy.franken.de> <201001261510.59667.jhb@freebsd.org> <20100127063649.GA1889@server.vk2pj.dyndns.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 27, 2010 at 05:36:49PM +1100, Peter Jeremy wrote: > On 2010-Jan-26 15:10:59 -0500, John Baldwin <jhb@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. Marius
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100127115229.GD40779>