On 07/08/2012 11:59, Konstantin Belousov wrote:
On Sun, Jul 08, 2012 at 12:57:39PM -0400, Michael Butler wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/08/12 11:18, Michael Butler wrote:
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;
  [ .. snip .. ]

Just waiting for the second of two attached RAID arrays to finish
rebuilding and I'll give this a shot - thanks!
I repeated the dumps from last night over NFS with this patch installed
and no more panics :-)
But, are panics reproducable without the patch ?

The patch looks correct. I'm sorry that I didn't catch this problem when I reviewed the original patch yesterday. :-(

I don't think that you really need these assertions:

+ KASSERT(queues_locked, ("unlocked queues 2"));
+                               mtx_assert(&vm_page_queue_mtx, MA_OWNED);

The control flow from the preceding acquire is straightforward and vm_page_requeue() itself asserts that the page queues lock is held.

Alan

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to