This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.25-392-g808fd9e
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 3 Jun 2017 00:32:49 -0000
- Subject: 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