From owner-freebsd-current@FreeBSD.ORG Sun Jul 8 17:39:17 2012 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 25F1C1065670; Sun, 8 Jul 2012 17:39:17 +0000 (UTC) (envelope-from alc@rice.edu) Received: from mh10.mail.rice.edu (mh10.mail.rice.edu [128.42.201.30]) by mx1.freebsd.org (Postfix) with ESMTP id E6DE38FC08; Sun, 8 Jul 2012 17:39:16 +0000 (UTC) Received: from mh10.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh10.mail.rice.edu (Postfix) with ESMTP id 52DFA606DB; Sun, 8 Jul 2012 12:39:16 -0500 (CDT) Received: from mh10.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh10.mail.rice.edu (Postfix) with ESMTP id 51509603DA; Sun, 8 Jul 2012 12:39:16 -0500 (CDT) X-Virus-Scanned: by amavis-2.7.0 at mh10.mail.rice.edu, auth channel Received: from mh10.mail.rice.edu ([127.0.0.1]) by mh10.mail.rice.edu (mh10.mail.rice.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id np8NiJDa5yXz; Sun, 8 Jul 2012 12:39:16 -0500 (CDT) Received: from adsl-216-63-78-18.dsl.hstntx.swbell.net (adsl-216-63-78-18.dsl.hstntx.swbell.net [216.63.78.18]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh10.mail.rice.edu (Postfix) with ESMTPSA id D7A9960302; Sun, 8 Jul 2012 12:39:15 -0500 (CDT) Message-ID: <4FF9C5C2.80509@rice.edu> Date: Sun, 08 Jul 2012 12:39:14 -0500 From: Alan Cox User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:8.0) Gecko/20111113 Thunderbird/8.0 MIME-Version: 1.0 To: Konstantin Belousov 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> <4FF9A4A8.5050903@protected-networks.net> <4FF9BC03.1040008@protected-networks.net> <20120708165922.GE2338@deviant.kiev.zoral.com.ua> In-Reply-To: <20120708165922.GE2338@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: alc@freebsd.org, Michael Butler , current@freebsd.org Subject: Re: sleeping thread panic? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Jul 2012 17:39:17 -0000 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