From owner-freebsd-stable@FreeBSD.ORG Tue Dec 20 15:03:09 2011 Return-Path: Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A92A1065675 for ; Tue, 20 Dec 2011 15:03:09 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id C604B8FC19 for ; Tue, 20 Dec 2011 15:03:08 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id RAA02742; Tue, 20 Dec 2011 17:03:05 +0200 (EET) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1Rd1Dc-000JQU-Mq; Tue, 20 Dec 2011 17:03:04 +0200 Message-ID: <4EF0A3A7.80309@FreeBSD.org> Date: Tue, 20 Dec 2011 17:03:03 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:8.0) Gecko/20111206 Thunderbird/8.0 MIME-Version: 1.0 To: Ganael LAPLANCHE References: <20111220080437.M63044@martymac.org> <4EF05F27.8030902@FreeBSD.org> <20111220134716.M62917@martymac.org> <20111220142740.M29405@martymac.org> In-Reply-To: <20111220142740.M29405@martymac.org> X-Enigmail-Version: undefined Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Tijl Coosemans , freebsd-stable@FreeBSD.org Subject: Re: Using mmap(2) with a hint address X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Dec 2011 15:03:09 -0000 on 20/12/2011 16:31 Ganael LAPLANCHE said the following: > On Tue, 20 Dec 2011 15:02:01 +0100 (CET), Ganael LAPLANCHE wrote > >> But there is still something I don't understand : on the Linux >> machine where I ran my test program, the current RLIMIT_DATA >> is set to 0xffffffff/0xffffffff and I can manage to mmap at >> address 0x20000000. If I set the same limit on FreeBSD, I >> won't get the mapping at 0x20000000. So, there *is* a >> difference of behaviour between the two systems, but I don't >> understand why. > > Well, in fact, two things remain not very clear for me : > > - Why are mmap()s performed *after* data segment ? > => It seems they can go within, on GNU/Linux and NetBSD. > > - Why do we have such a default value for datasize (8.2, amd64) : > > $ limits > Resource limits (current): > cputime infinity secs > filesize infinity kB > datasize 33554432 kB > > this is HUGE ! Just a guess - this might be some sort of optimization to keep virtual address range of dynamic allocations untouched by unrelated mmap calls. Not sure if that's so and how useful could that be. svn log / svn annotate of the file may reveal more details. -- Andriy Gapon