This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.19-627-g93a6d08


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  93a6d0820430bfe3d09695a1376c07abf6d2214f (commit)
      from  bc4a86fa214fe78f568f6959f29a53d3927a809e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=93a6d0820430bfe3d09695a1376c07abf6d2214f

commit 93a6d0820430bfe3d09695a1376c07abf6d2214f
Author: Roland McGrath <roland@hack.frob.com>
Date:   Fri Jun 20 19:50:16 2014 -0700

    Clean up stack-coloring macros.

diff --git a/ChangeLog b/ChangeLog
index 2bf880a..8998b85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2014-06-20  Roland McGrath  <roland@hack.frob.com>
 
+	* nptl/allocatestack.c: Include <stack-aliasing.h>.
+	* nptl/stack-aliasing.h: New file.
+	* sysdeps/i386/i686/stack-aliasing.h: New file.
+	* sysdeps/i386/i686/nptl/Makefile: File removed.
+	* sysdeps/x86_64/stack-aliasing.h: New file.
+	* sysdeps/x86_64/nptl/Makefile
+	(CFLAGS-pthread_create.c): Variable removed.
+
 	* nptl/sysdeps/unix/sysv/linux/bits/local_lim.h: Moved ...
 	* sysdeps/unix/sysv/linux/bits/local_lim.h: ... here, replacing the
 	old file.
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index d0d155c..9095ef4 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -30,6 +30,7 @@
 #include <list.h>
 #include <lowlevellock.h>
 #include <kernel-features.h>
+#include <stack-aliasing.h>
 
 
 #ifndef NEED_SEPARATE_REGISTER_STACK
diff --git a/nptl/stack-aliasing.h b/nptl/stack-aliasing.h
new file mode 100644
index 0000000..526b54e
--- /dev/null
+++ b/nptl/stack-aliasing.h
@@ -0,0 +1,29 @@
+/* Define macros for stack address aliasing issues for NPTL.  Stub version.
+   Copyright (C) 2014 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is a number of bytes (less than a page) by which to "color" the
+   starting stack address of new threads.  This number is multiplied by the
+   number of threads created so far and then truncated modulo page size,
+   to get a roughly even distribution of values for different threads.  */
+#define COLORING_INCREMENT      0
+
+/* This is a number of bytes that is an alignment that should be avoided
+   when choosing the exact size of a new thread's stack.  If the size
+   chosen is aligned to this, an extra page will be added to render the
+   size off-aligned.  */
+#define MULTI_PAGE_ALIASING     0
diff --git a/sysdeps/i386/i686/nptl/Makefile b/sysdeps/i386/i686/nptl/Makefile
deleted file mode 100644
index 8f42463..0000000
--- a/sysdeps/i386/i686/nptl/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-# Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-ifeq ($(subdir),nptl)
-# 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
diff --git a/sysdeps/i386/i686/stack-aliasing.h b/sysdeps/i386/i686/stack-aliasing.h
new file mode 100644
index 0000000..1e35ceb
--- /dev/null
+++ b/sysdeps/i386/i686/stack-aliasing.h
@@ -0,0 +1,28 @@
+/* Define macros for stack address aliasing issues for NPTL.  i686 version.
+   Copyright (C) 2014 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* 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.  To enable coloring, set this to 128.  */
+#define COLORING_INCREMENT      0
+
+/* 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.  */
+#define MULTI_PAGE_ALIASING     65536
diff --git a/sysdeps/x86_64/nptl/Makefile b/sysdeps/x86_64/nptl/Makefile
index de43419..c696cd5 100644
--- a/sysdeps/x86_64/nptl/Makefile
+++ b/sysdeps/x86_64/nptl/Makefile
@@ -18,10 +18,3 @@
 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
diff --git a/sysdeps/x86_64/stack-aliasing.h b/sysdeps/x86_64/stack-aliasing.h
new file mode 100644
index 0000000..2efdacb
--- /dev/null
+++ b/sysdeps/x86_64/stack-aliasing.h
@@ -0,0 +1 @@
+#include <sysdeps/i386/i686/stack-aliasing.h>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                          |    8 ++++++++
 nptl/allocatestack.c               |    1 +
 nptl/stack-aliasing.h              |   29 +++++++++++++++++++++++++++++
 sysdeps/i386/i686/nptl/Makefile    |   31 -------------------------------
 sysdeps/i386/i686/stack-aliasing.h |   28 ++++++++++++++++++++++++++++
 sysdeps/x86_64/nptl/Makefile       |    7 -------
 sysdeps/x86_64/stack-aliasing.h    |    1 +
 7 files changed, 67 insertions(+), 38 deletions(-)
 create mode 100644 nptl/stack-aliasing.h
 delete mode 100644 sysdeps/i386/i686/nptl/Makefile
 create mode 100644 sysdeps/i386/i686/stack-aliasing.h
 create mode 100644 sysdeps/x86_64/stack-aliasing.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]