diff options
-rw-r--r-- | nptl/ChangeLog | 2 | ||||
-rw-r--r-- | nptl/allocatestack.c | 2 | ||||
-rw-r--r-- | nptl/sysdeps/x86_64/Makefile | 9 |
3 files changed, 11 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 5957f616b4..efe1235107 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,7 @@ 2004-11-24 Ulrich Drepper <drepper@redhat.com> + * sysdeps/x86_64/Makefile [nptl]: Define CFLAGS-pthread_create.c. + * Makefile (libpthread-routines): Add pthread_setschedprio. * Versions [libpthread, GLIBC_2.3.4]: Add pthread_setschedprio. * sysdeps/pthread/pthread.h: Declare pthread_setschedprio. diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index 89a034e0ec..8875209a11 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -417,7 +417,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, pd = get_cached_stack (&size, &mem); if (pd == NULL) { - /* To avoid aliasing effects on a larger scale then pages we + /* To avoid aliasing effects on a larger scale than pages we adjust the allocated stack size if necessary. This way allocations directly following each other will not have aliasing problems. */ diff --git a/nptl/sysdeps/x86_64/Makefile b/nptl/sysdeps/x86_64/Makefile index 24990a2b7e..6e24a26cde 100644 --- a/nptl/sysdeps/x86_64/Makefile +++ b/nptl/sysdeps/x86_64/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -19,3 +19,10 @@ ifeq ($(subdir),csu) gen-as-const-headers += tcb-offsets.sym endif + +ifeq ($(subdir),nptl) +# P4s have problems with 4M aliasing. We disturb the allocation of stacks +# just enough so the subsequent allocations do not use stack address +# (mod 4M) == 0. +CFLAGS-pthread_create.c += -DMULTI_PAGE_ALIASING=65536 +endif |