do nothing at all is not an option - thread creation can take 10 msecs
on top-of-the-line hardware.
yeah, i already had a patch for that when i wrote my first mail
[attached below] and listed it as option #4 - then erased the comment
figuring that we'd want to do #1 ;-)
As unimplemented flags just get ignored by the kernel, if this flag goes
into v2.6.27 as-is and is ignored by the kernel (i.e. we just use a
plain old 64-bit [47-bit] allocation), then you could do the glibc
change straight away, correct? So then if people complain we can fix it
in the kernel purely.
how about this then?
Ingo
--------------------->
Subject: mmap: add MAP_64BIT_STACK
From: Ingo Molnar <mingo@elte.hu>
Date: Wed Aug 13 12:41:54 CEST 2008
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
include/asm-x86/mman.h | 1 +
1 file changed, 1 insertion(+)
Index: linux/include/asm-x86/mman.h
===================================================================
--- linux.orig/include/asm-x86/mman.h
+++ linux/include/asm-x86/mman.h
@@ -12,6 +12,7 @@
#define MAP_NORESERVE 0x4000 /* don't check for reservations */
#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
#define MAP_NONBLOCK 0x10000 /* do not block on IO */
+#define MAP_64BIT_STACK 0x20000 /* give out 32bit addresses on old CPUs */
#define MCL_CURRENT 1 /* lock all current mappings */
#define MCL_FUTURE 2 /* lock all future mappings */
--