From owner-svn-src-all@FreeBSD.ORG Fri Aug 16 21:25:03 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 ESMTP id 51755B0E; Fri, 16 Aug 2013 21:25:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 29288221F; Fri, 16 Aug 2013 21:25:03 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 306AFB924; Fri, 16 Aug 2013 17:25:01 -0400 (EDT) From: John Baldwin To: src-committers@freebsd.org Subject: Re: svn commit: r254430 - in head: lib/libc/sys sys/sys sys/vm usr.bin/kdump usr.bin/truss Date: Fri, 16 Aug 2013 17:20:42 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p28; KDE/4.5.5; amd64; ; ) References: <201308162113.r7GLDtYC062588@svn.freebsd.org> In-Reply-To: <201308162113.r7GLDtYC062588@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201308161720.42632.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 16 Aug 2013 17:25:01 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 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: Fri, 16 Aug 2013 21:25:03 -0000 On Friday, August 16, 2013 5:13:55 pm John Baldwin wrote: > Author: jhb > Date: Fri Aug 16 21:13:55 2013 > New Revision: 254430 > URL: http://svnweb.freebsd.org/changeset/base/254430 > > Log: > Add new mmap(2) flags to permit applications to request specific virtual > address alignment of mappings. > - MAP_ALIGNED(n) requests a mapping aligned on a boundary of (1 << n). > Requests for n >= number of bits in a pointer or less than the size of > a page fail with EINVAL. This matches the API provided by NetBSD. > - MAP_ALIGNED_SUPER is a special case of MAP_ALIGNED. It can be used > to optimize the chances of using large pages. By default it will align > the mapping on a large page boundary (the system is free to choose any > large page size to align to that seems best for the mapping request). > However, if the object being mapped is already using large pages, then > it will align the virtual mapping to match the existing large pages in > the object instead. > - Internally, VMFS_ALIGNED_SPACE is now renamed to VMFS_SUPER_SPACE, and > VMFS_ALIGNED_SPACE(n) is repurposed for specifying a specific alignment. > MAP_ALIGNED(n) maps to using VMFS_ALIGNED_SPACE(n), while > MAP_ALIGNED_SUPER maps to VMFS_SUPER_SPACE. > - mmap() of a device object now uses VMFS_OPTIMAL_SPACE rather than > explicitly using VMFS_SUPER_SPACE. All device objects are forced to > use a specific color on creation, so VMFS_OPTIMAL_SPACE is effectively > equivalent. Forgot to note: - Handle MAP_PREFAULT_READ in kdump and truss. Also, any awkwardness in the mmap(2) text is purely my fault and not Alan's. We might tweak it further, but the code is tested and fully reviewed. -- John Baldwin