Date: Mon, 26 Jan 2004 09:52:34 -0800 From: Brooks Davis <brooks@one-eyed-alien.net> To: ml@fruitbat.demon.co.uk Cc: freebsd-amd64@freebsd.org Subject: Re: malloc() over 4Gb Message-ID: <20040126175234.GA28717@Odin.AC.HMC.Edu> In-Reply-To: <E1AkkSR-000FNA-0Z@anchor-post-35.mail.demon.net>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On Sun, Jan 25, 2004 at 01:37:47PM +0000, ml@fruitbat.demon.co.uk wrote:
>
> Hi. Could someone clarify whether or not it's possible to malloc()
> and mmap() chunks of memory > 4Gb in size using FreeBSD/AMD64 and
> that FreeBSD/AMD64 isn't susceptible to the 4Gb process boundary that
> 32-bit OSs are restricted by?
It works fine (just remember to set your malloc options to aj before
mallocing that much memory, it takes a loooong time if you done :-):
[9:52am] brooks@brimstone (~): uname -a
FreeBSD brimstone 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Tue Jan 6 13:18:20 PST 2004 brooks@brimstone:/usr/obj/usr/p4/xname/sys/GENERIC amd64
[9:52am] brooks@brimstone (~): ./a
a.out* aeroauth*
[9:52am] brooks@brimstone (~): cat foo.c
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define GB (1024*1024*1024)
int
main (int argc, char **argv)
{
void *foo;
printf("Trying to malloc %zd bytes\n", (size_t)7*GB);
foo = malloc((size_t)7*GB);
if (foo != NULL)
printf("Success\n");
else
printf("failure\n");
}
[9:52am] brooks@brimstone (~): gcc -o foo foo.c
[9:52am] brooks@brimstone (~): ./foo
Trying to malloc 7516192768 bytes
Success
[9:52am] brooks@brimstone (~):
-- Brooks
--
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQFAFVPgXY6L6fI4GtQRAk6nAJwIfYpHrkkP6/u5/O59Asu1u6S5tQCfSCCP
iftnuUkE/TiN8sDMFIRk51I=
=bNFj
-----END PGP SIGNATURE-----
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040126175234.GA28717>
