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 hjl/master updated. glibc-2.25-378-gcccc2db


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, hjl/master has been updated
       via  cccc2db76b3f39a2feaebfbbceccd6d69b0958eb (commit)
      from  1a458dd772f021067a3def3ce0d85301cccc6688 (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=cccc2db76b3f39a2feaebfbbceccd6d69b0958eb

commit cccc2db76b3f39a2feaebfbbceccd6d69b0958eb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 12 13:38:04 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/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:
 sysdeps/x86/cacheinfo.c |    6 ++++--
 1 files changed, 4 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]