From owner-freebsd-current@FreeBSD.ORG Wed Oct 10 22:20:55 2007 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 C2ABC16A417 for ; Wed, 10 Oct 2007 22:20:55 +0000 (UTC) (envelope-from alc@cs.rice.edu) Received: from mail.cs.rice.edu (mail.cs.rice.edu [128.42.1.31]) by mx1.freebsd.org (Postfix) with ESMTP id 81E9013C4B2 for ; Wed, 10 Oct 2007 22:20:53 +0000 (UTC) (envelope-from alc@cs.rice.edu) Received: from mail.cs.rice.edu (localhost.localdomain [127.0.0.1]) by mail.cs.rice.edu (Postfix) with ESMTP id 72EA82C2B85; Wed, 10 Oct 2007 16:50:55 -0500 (CDT) X-Virus-Scanned: by amavis-2.4.0 at mail.cs.rice.edu Received: from mail.cs.rice.edu ([127.0.0.1]) by mail.cs.rice.edu (mail.cs.rice.edu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id dWhwCnlMkZcB; Wed, 10 Oct 2007 16:50:47 -0500 (CDT) Received: from [10.194.94.67] (nat-168-7-248-116.rice.edu [168.7.248.116]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.cs.rice.edu (Postfix) with ESMTP id B15902C2B5A; Wed, 10 Oct 2007 16:50:47 -0500 (CDT) Message-ID: <470D492C.6080409@cs.rice.edu> Date: Wed, 10 Oct 2007 16:50:36 -0500 From: Alan Cox User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: maksim.yevmenkin@gmail.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: current@freebsd.org Subject: Re: panic on sparc64 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: Wed, 10 Oct 2007 22:20:55 -0000 This lock assertion failure in sparc64's pmap.c was fixed by this commit: alc 2007-10-07 18:03:04 UTC FreeBSD src repository Modified files: sys/sparc64/sparc64 pmap.c sys/vm vm_page.c Log: Correct a lock assertion failure in sparc64's pmap_page_is_mapped() that is a consequence of sparc64/sparc64/vm_machdep.c revision 1.76. It occurs when uma_small_free() frees a page. The solution has two parts: (1) Mark pages allocated with VM_ALLOC_NOOBJ as PG_UNMANAGED. (2) Defer the lock assertion in pmap_page_is_mapped() until after PG_UNMANAGED is tested. This is safe because both PG_UNMANAGED and PG_FICTITIOUS are immutable flags, i.e., they do not change state between the time that a page is allocated and freed. Approved by: re (kensmith) PR: 116794 Revision Changes Path 1.166 +1 -1 src/sys/sparc64/sparc64/pmap.c 1.356 +1 -1 src/sys/vm/vm_page.c