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.25-392-g808fd9e


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  808fd9e6fe23f96078d4e297de1131117d3898bb (commit)
      from  3e6def237a5681387b27ac55298b3ab25a054dbf (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=808fd9e6fe23f96078d4e297de1131117d3898bb

commit 808fd9e6fe23f96078d4e297de1131117d3898bb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 2 17:32:21 2017 -0700

    x86: Update __x86_shared_non_temporal_threshold
    
    __x86_shared_non_temporal_threshold was set to 6 times of per-core
    shared cache size, based on the large memcpy micro benchmark in glibc
    on a 8-core processor.  For a processor with more than 8 cores, the
    threshold is too low.  Set __x86_shared_non_temporal_threshold to the
    3/4 of the total shared cache size so that it is unchanged on 8-core
    processors.  On processors with less than 8 cores, the threshold is
    lower.
    
    	* sysdeps/x86/cacheinfo.c (__x86_shared_non_temporal_threshold):
    	Set to the 3/4 of the total shared cache size.

diff --git a/ChangeLog b/ChangeLog
index 3ac07f0..a97f09d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/x86/cacheinfo.c (__x86_shared_non_temporal_threshold):
+	Set to the 3/4 of the total shared cache size.
+
 2017-06-02  Rical Jasan  <ricaljasan@pacific.net>
 
 	* manual/errno.texi: Remove redundant error strings.
diff --git a/sysdeps/x86/cacheinfo.c b/sysdeps/x86/cacheinfo.c
index 12ffeef..f66f2b8 100644
--- a/sysdeps/x86/cacheinfo.c
+++ b/sysdeps/x86/cacheinfo.c
@@ -767,8 +767,10 @@ intel_bug_no_cache_info:
 
   /* The large memcpy micro benchmark in glibc shows that 6 times of
      shared cache size is the approximate value above which non-temporal
-     store becomes faster.  */
-  __x86_shared_non_temporal_threshold = __x86_shared_cache_size * 6;
+     store becomes faster on a 8-core processor.  This is the 3/4 of the
+     total shared cache size.  */
+  __x86_shared_non_temporal_threshold
+    = __x86_shared_cache_size * threads * 3 / 4;
 }
 
 #endif

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

Summary of changes:
 ChangeLog               |    5 +++++
 sysdeps/x86/cacheinfo.c |    6 ++++--
 2 files changed, 9 insertions(+), 2 deletions(-)


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]