From 5744c68d78f6ca6c6500e2c8d3d85b3a31f4ed2a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 14 Aug 2011 15:46:52 -0700 Subject: Align x86 TCB to 64 bytes (cache line size), important for Atom. --- nptl/sysdeps/i386/pthreaddef.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'nptl/sysdeps/i386/pthreaddef.h') diff --git a/nptl/sysdeps/i386/pthreaddef.h b/nptl/sysdeps/i386/pthreaddef.h index 43b771c6db..1e840664bf 100644 --- a/nptl/sysdeps/i386/pthreaddef.h +++ b/nptl/sysdeps/i386/pthreaddef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002,2003,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -27,8 +27,14 @@ /* Minimal stack size after allocating thread descriptor and guard size. */ #define MINIMAL_REST_STACK 2048 -/* Alignment requirement for TCB. */ -#define TCB_ALIGNMENT 16 +/* Alignment requirement for TCB. + + Some processors such as Intel Atom pay a big penalty on every + access using a segment override if that segment's base is not + aligned to the size of a cache line. (See Intel 64 and IA-32 + Architectures Optimization Reference Manual, section 13.3.3.3, + "Segment Base".) On such machines, a cache line is 64 bytes. */ +#define TCB_ALIGNMENT 64 /* Location of current stack frame. */ -- cgit 1.4.1