about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/i386/i686/Makefile13
2 files changed, 19 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 37464db175..c24573a2c4 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,11 @@
+2003-03-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* allocatestack.c (allocate_stack): If MULTI_PAGE_ALIASING is defined
+	and the size of the stack which must be allocated is a multiple,
+	allocate one more page.
+	* sysdeps/i386/i686/Makefile: Don't define COLORING_INCREMENT, but
+	MULTI_PAGE_ALIASING.
+
 2003-03-13  Roland McGrath  <roland@redhat.com>
 
 	* pthread_create.c (start_thread): Set EXITING_BIT after the
diff --git a/nptl/sysdeps/i386/i686/Makefile b/nptl/sysdeps/i386/i686/Makefile
index 493a7ec49f..137c0a2f0c 100644
--- a/nptl/sysdeps/i386/i686/Makefile
+++ b/nptl/sysdeps/i386/i686/Makefile
@@ -18,6 +18,15 @@
 # 02111-1307 USA.
 
 ifeq ($(subdir),nptl)
-# For P4 processors we color the stack in 128 bit steps.
-CFLAGS-pthread_create.c += -DCOLORING_INCREMENT=128
+# It turns out that stack coloring is in general not good on P4s.  Some
+# applications will benefit.  We will probably have a configuration option
+# at some point.  Enabling coloring can be done with
+#
+#   -DCOLORING_INCREMENT=128
+#
+# What is useful is to avoid the 64k aliasing problem which reliably
+# happens if all stacks use sizes which are a multiple of 64k.  Tell
+# the stack allocator to disturb this by allocation one more page if
+# necessary.
+CFLAGS-pthread_create.c += -DMULTI_PAGE_ALIASING=65536
 endif