From owner-svn-src-head@freebsd.org Tue Aug 4 23:22:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 924A99B3B2C; Tue, 4 Aug 2015 23:22:13 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (bird.sbone.de [46.4.1.90]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4A3F21AC2; Tue, 4 Aug 2015 23:22:12 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 1273325D3A7B; Tue, 4 Aug 2015 23:22:10 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 34A85C76FEB; Tue, 4 Aug 2015 23:22:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id cfvLOWukijyL; Tue, 4 Aug 2015 23:22:08 +0000 (UTC) Received: from [IPv6:fde9:577b:c1a9:4410:c1ce:98f8:3a8:95a9] (unknown [IPv6:fde9:577b:c1a9:4410:c1ce:98f8:3a8:95a9]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id EE96FC76FEA; Tue, 4 Aug 2015 23:22:07 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2102\)) Subject: Re: svn commit: r286296 - in head/sys: amd64/amd64 arm/arm arm/include arm64/arm64 i386/i386 i386/include mips/mips powerpc/aim powerpc/booke powerpc/include powerpc/powerpc sparc64/include sparc64/spa... From: "Bjoern A. Zeeb" In-Reply-To: <201508041946.t74JkExD070238@repo.freebsd.org> Date: Tue, 4 Aug 2015 23:22:02 +0000 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <201508041946.t74JkExD070238@repo.freebsd.org> To: "Jason A. Harmening" X-Mailer: Apple Mail (2.2102) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2015 23:22:13 -0000 > On 04 Aug 2015, at 19:46 , Jason A. Harmening wrote: >=20 > Author: jah > Date: Tue Aug 4 19:46:13 2015 > New Revision: 286296 > URL: https://svnweb.freebsd.org/changeset/base/286296 >=20 > Log: > Add two new pmap functions: > vm_offset_t pmap_quick_enter_page(vm_page_t m) > void pmap_quick_remove_page(vm_offset_t kva) >=20 > These will create and destroy a temporary, CPU-local KVA mapping of a = specified page. >=20 > Guarantees: > --Will not sleep and will not fail. > --Safe to call under a non-sleepable lock or from an ithread >=20 > Restrictions: > --Not guaranteed to be safe to call from an interrupt filter or under = a spin mutex on all platforms > --Current implementation does not guarantee more than one page of = mapping space across all platforms. MI code should not make nested calls = to pmap_quick_enter_page. > --MI code should not perform locking while holding onto a mapping = created by pmap_quick_enter_page >=20 > The idea is to use this in busdma, for bounce buffer copies as well = as virtually-indexed cache maintenance on mips and arm. >=20 > NOTE: the non-i386, non-amd64 implementations of these functions = still need review and testing. Most of this description should go into a section 9 man page rather than = the commit message ;-) /bz