aboutsummaryrefslogtreecommitdiff
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