From owner-svn-src-all@FreeBSD.ORG Sun Dec 29 02:41:34 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2E9FF477; Sun, 29 Dec 2013 02:41:34 +0000 (UTC) Received: from smtpauth2.wiscmail.wisc.edu (wmauth2.doit.wisc.edu [144.92.197.222]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EC3041F74; Sun, 29 Dec 2013 02:41:33 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from avs-daemon.smtpauth2.wiscmail.wisc.edu by smtpauth2.wiscmail.wisc.edu (Oracle Communications Messaging Server 7u4-27.01(7.0.4.27.0) 64bit (built Aug 30 2012)) id <0MYJ00600QJACC00@smtpauth2.wiscmail.wisc.edu>; Sat, 28 Dec 2013 20:41:25 -0600 (CST) X-Spam-PmxInfo: Server=avs-2, Version=6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.12.29.23314, SenderIP=0.0.0.0 X-Spam-Report: AuthenticatedSender=yes, SenderIP=0.0.0.0 Received: from wanderer.tachypleus.net (unknown [70.42.157.34]) by smtpauth2.wiscmail.wisc.edu (Oracle Communications Messaging Server 7u4-27.01(7.0.4.27.0) 64bit (built Aug 30 2012)) with ESMTPSA id <0MYJ00MVXRFZ8C00@smtpauth2.wiscmail.wisc.edu>; Sat, 28 Dec 2013 20:41:25 -0600 (CST) Message-id: <52BF8BAD.40503@freebsd.org> Date: Sat, 28 Dec 2013 21:40:45 -0500 From: Nathan Whitehorn User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.0 To: Alan Cox , Marcel Moolenaar , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r259908 - head/sys/vm References: <201312260546.rBQ5kAoJ009798@svn.freebsd.org> <52BF6699.1040006@freebsd.org> <52BF7195.2070606@rice.edu> In-reply-to: <52BF7195.2070606@rice.edu> X-Enigmail-Version: 1.5.2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Dec 2013 02:41:34 -0000 On 12/28/13 19:49, Alan Cox wrote: > On 12/28/2013 18:02, Nathan Whitehorn wrote: >> On 12/26/13 00:46, Marcel Moolenaar wrote: >>> Author: marcel >>> Date: Thu Dec 26 05:46:10 2013 >>> New Revision: 259908 >>> URL: http://svnweb.freebsd.org/changeset/base/259908 >>> >>> Log: >>> For ia64, use pmap_remove_pages() and not pmap_remove(). The problem is >>> that we don't have a good way (yet) to iterate over the mapped pages by >>> virtual address and simply try each page within the range. Given that we >>> call pmap_remove() over the entire 2^63 bytes of address space, it takes >>> a while for pmap_remove to have tried all 2^50 pages. >>> By using pmap_remove_pages() we use the PV list to find all mappings. >>> >>> Change derived from a patch by: alc >>> >> Why make this ia64-specific? It seems like a potentially useful general >> optimization and certainly shouldn't be harmful on other architectures. > Some of the other implementations of pmap_remove_pages() have > limitations that don't permit them to be used for this purpose, e.g., > > if (pmap != PCPU_GET(curpmap)) { > printf("warning: pmap_remove_pages called with > non-current pmap\n"); > return; > } > > Alan > Fair enough. Thanks for the explanation. -Nathan