Date: Sun, 08 Jul 2012 11:18:00 -0400 From: Michael Butler <imb@protected-networks.net> To: Konstantin Belousov <kostikbel@gmail.com> Cc: current@freebsd.org Subject: Re: sleeping thread panic? Message-ID: <4FF9A4A8.5050903@protected-networks.net> In-Reply-To: <20120708143113.GZ2338@deviant.kiev.zoral.com.ua> References: <4FF98128.6050607@protected-networks.net> <20120708133455.GX2338@deviant.kiev.zoral.com.ua> <4FF98F21.9060003@protected-networks.net> <20120708143113.GZ2338@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 07/08/12 10:31, Konstantin Belousov wrote: > Catch it next time ? This should be quite reproducable, if real. > > Actually, try this. > > diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c > index 9485fdd..de33afc 100644 > --- a/sys/vm/vm_pageout.c > +++ b/sys/vm/vm_pageout.c > @@ -1030,7 +1030,6 @@ rescan0: > ++pageout_lock_miss; > if (object->flags & OBJ_MIGHTBEDIRTY) > vnodes_skipped++; > - vm_page_lock_queues(); > goto unlock_and_continue; > } > KASSERT(mp != NULL, > @@ -1041,7 +1040,6 @@ rescan0: > if (vget(vp, LK_EXCLUSIVE | LK_TIMELOCK, > curthread)) { > VM_OBJECT_LOCK(object); > - vm_page_lock_queues(); > ++pageout_lock_miss; > if (object->flags & OBJ_MIGHTBEDIRTY) > vnodes_skipped++; > @@ -1082,15 +1080,17 @@ rescan0: > * If the page has become held it might > * be undergoing I/O, so skip it > */ > + KASSERT(queues_locked, ("unlocked queues 2")); > + mtx_assert(&vm_page_queue_mtx, MA_OWNED); > if (m->hold_count) { > - vm_page_lock_queues(); > - queues_locked = TRUE; > vm_page_unlock(m); > vm_page_requeue(m); > if (object->flags & OBJ_MIGHTBEDIRTY) > vnodes_skipped++; > goto unlock_and_continue; > } > + vm_page_unlock_queues(); > + queues_locked = FALSE; > } > > /* > Just waiting for the second of two attached RAID arrays to finish rebuilding and I'll give this a shot - thanks! imb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAk/5pKgACgkQQv9rrgRC1JKXAgCdEJhZIKRmLbAzIROKmN2WuZCU mb4AnR3Z+BrN7uqwYnXwubBEBx/QlWf8 =Ne6G -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FF9A4A8.5050903>