From owner-freebsd-current@FreeBSD.ORG Wed Oct 24 16:48:15 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 74ACDE3D for ; Wed, 24 Oct 2012 16:48:15 +0000 (UTC) (envelope-from alc@rice.edu) Received: from mh11.mail.rice.edu (mh11.mail.rice.edu [128.42.199.30]) by mx1.freebsd.org (Postfix) with ESMTP id 439228FC0C for ; Wed, 24 Oct 2012 16:48:15 +0000 (UTC) Received: from mh11.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh11.mail.rice.edu (Postfix) with ESMTP id C09764C0420; Wed, 24 Oct 2012 11:48:14 -0500 (CDT) Received: from mh11.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh11.mail.rice.edu (Postfix) with ESMTP id BF5C24C0413; Wed, 24 Oct 2012 11:48:14 -0500 (CDT) X-Virus-Scanned: by amavis-2.7.0 at mh11.mail.rice.edu, auth channel Received: from mh11.mail.rice.edu ([127.0.0.1]) by mh11.mail.rice.edu (mh11.mail.rice.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id bFVsR-FSzDwS; Wed, 24 Oct 2012 11:48:14 -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 mh11.mail.rice.edu (Postfix) with ESMTPSA id 60C574C040C; Wed, 24 Oct 2012 11:48:14 -0500 (CDT) Message-ID: <50881BCD.1010502@rice.edu> Date: Wed, 24 Oct 2012 11:48:13 -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 Subject: Re: i386 pmap - missing sched_pin()? References: <20121023131450.GU35915@deviant.kiev.zoral.com.ua> In-Reply-To: <20121023131450.GU35915@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org, Svatopluk Kraus X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 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, 24 Oct 2012 16:48:15 -0000 On 10/23/2012 08:14, Konstantin Belousov wrote: > On Tue, Oct 23, 2012 at 02:36:07PM +0200, Svatopluk Kraus wrote: >> Hi, >> >> I'm just syncing my ARM pmap code (base on i386 one) with current >> i386 pmap code. It looks that sched_pin() is missing after successful >> rw_try_wlock() in pmap_protect(). > Yes, you are right, I think. The following patch takes care of it. > > diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c > index ac087f6..b9033da 100644 > --- a/sys/i386/i386/pmap.c > +++ b/sys/i386/i386/pmap.c > @@ -3221,6 +3221,7 @@ resume: > PMAP_UNLOCK(pmap); > goto resume; > } > + sched_pin(); > } > if (!pmap_demote_pde(pmap, > &pmap->pm_pdir[pdirindex], sva)) { Agreed. Please commit this change. Alan