still mbuf leak in 9.0 / 9.1?

dennis berger db at nipsi.de
Thu May 16 09:42:33 UTC 2013


This is indeed a ZFS+NFS system and I can see that istgt and nfs are stuck in some ZIO state. Maybe it's this. 
Thank's for pointing out. 

Is it this ZFS+NFS deadlock?

--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c 
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c 
@@ -3720,8 +3720,16 @@ arc_lowmem(void *arg __unused, int howto __unused) 
 	mutex_enter(&arc_reclaim_thr_lock); 
 	needfree = 1; 
 	cv_signal(&arc_reclaim_thr_cv); 
-	while (needfree) 
-	 msleep(&needfree, &arc_reclaim_thr_lock, 0, "zfs:lowmem", 0); 
+ 
+	/* 
+	 * It is unsafe to block here in arbitrary threads, because we can come 
+	 * here from ARC itself and may hold ARC locks and thus risk a deadlock 
+	 * with ARC reclaim thread. 
+	 */ 
+	if (curproc == pageproc) { 
+	 while (needfree) 
+	 msleep(&needfree, &arc_reclaim_thr_lock, 0, "zfs:lowmem", 0); 
+	} 
 	mutex_exit(&arc_reclaim_thr_lock); 
 	mutex_exit(&arc_lowmem_lock); 
 }

I'll try to crash our testsystem. I'll assume that stressing NFS backed with ZFS a lot might trigger this bug?

-dennis


Am 16.05.2013 um 00:03 schrieb Steven Hartland:

> ----- Original Message ----- From: "dennis berger" <db at nipsi.de>
>> FreeBSD  9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012
>> 
>>> 3. Regarding this:
>>>>> A clean shutdown isn't possible though. It hangs after vnode
>>>>> cleaning, normally you would see detaching of usb devices here, or
>>>>> other devices maybe?
>>> Please don't conflate this with your above issue.  This is almost
>>> certainly unrelated.  Please start a new thread about that if desired.
>> 
>> Maybe this is a misunderstanding normally this system will shutdown cleanly, of course.
>> This hang only appears after the network problem above.
> 
> If this is a ZFS system, its a known issue which is fixed in current,
> stable-9, stable-8 and the upcoming 8.4 release.
> 
> If not and you have USB devices see if the following sysctl helps:
> hw.usb.no_shutdown_wait=1
> 
>   Regards
>   Steve
> 
> ================================================
> This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. 
> In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337
> or return the E.mail to postmaster at multiplay.co.uk.
> 
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"





More information about the freebsd-stable mailing list