From: Matt Mullins Date: Sat, 21 Sep 2013 02:57:32 +0000 (-0700) Subject: Map all the memory, shrinking block size as necessary X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=ec5d5f360206747543d17188511f223fec24ae92;p=mmap_everything.git Map all the memory, shrinking block size as necessary --- diff --git a/mmap_everything.c b/mmap_everything.c index 2d24390..2940a11 100644 --- a/mmap_everything.c +++ b/mmap_everything.c @@ -1,18 +1,23 @@ +#include #include #include #include #include -static const size_t size = 100 * (1 << 20); // 100MB - int main() { pid_t pid = getpid(); printf("My pid is: %d\n", pid); + size_t size = ((size_t)1 << (sizeof(size_t) * CHAR_BIT - 1)); + void *p; do { - p = mmap(0, size, PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - } while (p != MAP_FAILED); + do { + p = mmap(0, size, PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + } while (p != MAP_FAILED); + + size >>= 1; + } while (size); printf("Mapped at: %p\n", p); getchar();