From owner-freebsd-mips@FreeBSD.ORG Fri Aug 6 05:41:38 2010 Return-Path: Delivered-To: mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49DC81065677; Fri, 6 Aug 2010 05:41:38 +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 11A968FC08; Fri, 6 Aug 2010 05:41:38 +0000 (UTC) Received: from mail.cs.rice.edu (localhost.localdomain [127.0.0.1]) by mail.cs.rice.edu (Postfix) with ESMTP id 64AA12C2B58; Fri, 6 Aug 2010 00:41:37 -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 XOguVj0GEfsM; Fri, 6 Aug 2010 00:41:29 -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 DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.cs.rice.edu (Postfix) with ESMTP id 4C7282C2B02; Fri, 6 Aug 2010 00:41:29 -0500 (CDT) Message-ID: <4C5BA088.7060105@cs.rice.edu> Date: Fri, 06 Aug 2010 00:41:28 -0500 From: Alan Cox User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.11) Gecko/20100805 Thunderbird/3.0.6 MIME-Version: 1.0 To: "Jayachandran C." References: <201008041412.o74ECAix092415@svn.freebsd.org> <4C5A569B.9090401@cs.rice.edu> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "Jayachandran C." , mips@freebsd.org Subject: Re: svn commit: r210846 - in head/sys/mips: include mips X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 05:41:38 -0000 On 08/05/2010 09:25, Jayachandran C. wrote: > On Thu, Aug 5, 2010 at 4:26 PM, Jayachandran C. > wrote: > >> On Thu, Aug 5, 2010 at 11:43 AM, Alan Cox wrote: >> >>> Just an observation ... >>> >>> Jayachandran C. wrote: >>> >>>> Author: jchandra >>>> Date: Wed Aug 4 14:12:09 2010 >>>> New Revision: 210846 >>>> URL: http://svn.freebsd.org/changeset/base/210846 >>>> >>>> Log: >>>> Add 3 level page tables for MIPS in n64. >>>> - 32 bit compilation will still use old 2 level page tables >>>> - re-arrange pmap code so that adding another level is easier >>>> - pmap code for 3 level page tables for n64 >>>> - update TLB handler to traverse 3 levels in n64 >>>> Reviewed by: jmallett >>>> >>> MIPS doesn't really need to use atomic_cmpset_int() in situations like this >>> because the software dirty bit emulation in trap.c acquires the pmap lock. >>> Atomics like this appear to be a carryover from i386 where the >>> hardware-managed TLB might concurrently set the modified bit. >>> >> Then I guess we should be able to use *pte directly, without pbits, >> obits and the retry loop. >> Will try this change... >> > Can you have a look at the attached patch and see if it is okay? This > has the above changes, and I have attempted to fix the other issue you > had reported on wired mapping count too. > > The patch looks good. > There are a few calls for loadandclear() on pte too, with pmap lock > held, can this be avoided too? > > I haven't looked at them, but almost certainly yes. Alan