glibc/sysdeps/x86
Noah Goldstein cecbac5212 x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h
No bug.

This patch doubles the rep_movsb_threshold when using ERMS. Based on
benchmarks the vector copy loop, especially now that it handles 4k
aliasing, is better for these medium ranged.

On Skylake with ERMS:

Size,   Align1, Align2, dst>src,(rep movsb) / (vec copy)
4096,   0,      0,      0,      0.975
4096,   0,      0,      1,      0.953
4096,   12,     0,      0,      0.969
4096,   12,     0,      1,      0.872
4096,   44,     0,      0,      0.979
4096,   44,     0,      1,      0.83
4096,   0,      12,     0,      1.006
4096,   0,      12,     1,      0.989
4096,   0,      44,     0,      0.739
4096,   0,      44,     1,      0.942
4096,   12,     12,     0,      1.009
4096,   12,     12,     1,      0.973
4096,   44,     44,     0,      0.791
4096,   44,     44,     1,      0.961
4096,   2048,   0,      0,      0.978
4096,   2048,   0,      1,      0.951
4096,   2060,   0,      0,      0.986
4096,   2060,   0,      1,      0.963
4096,   2048,   12,     0,      0.971
4096,   2048,   12,     1,      0.941
4096,   2060,   12,     0,      0.977
4096,   2060,   12,     1,      0.949
8192,   0,      0,      0,      0.85
8192,   0,      0,      1,      0.845
8192,   13,     0,      0,      0.937
8192,   13,     0,      1,      0.939
8192,   45,     0,      0,      0.932
8192,   45,     0,      1,      0.927
8192,   0,      13,     0,      0.621
8192,   0,      13,     1,      0.62
8192,   0,      45,     0,      0.53
8192,   0,      45,     1,      0.516
8192,   13,     13,     0,      0.664
8192,   13,     13,     1,      0.659
8192,   45,     45,     0,      0.593
8192,   45,     45,     1,      0.575
8192,   2048,   0,      0,      0.854
8192,   2048,   0,      1,      0.834
8192,   2061,   0,      0,      0.863
8192,   2061,   0,      1,      0.857
8192,   2048,   13,     0,      0.63
8192,   2048,   13,     1,      0.629
8192,   2061,   13,     0,      0.627
8192,   2061,   13,     1,      0.62

Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 475b63702e)
2022-04-26 18:18:16 -07:00
..
bits x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
fpu Drop nan-pseudo-number.h usage from tests 2021-01-04 20:49:56 +05:30
include x86-64: Remove Prefer_AVX2_STRCMP 2022-04-26 18:18:16 -07:00
nptl nptl: Remove longjmp, siglongjmp from libpthread 2021-04-21 19:49:50 +02:00
sys/platform x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
__longjmp_cancel.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
abi-note.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
cacheinfo.c x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] 2021-03-15 05:43:26 -07:00
cacheinfo.h x86: use default cache size if it cannot be determined [BZ #28784] 2022-01-17 19:46:24 +01:00
cet-control.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-cet.awk Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
configure x86: Set minimum x86-64 level marker [BZ #27318] 2021-03-06 07:49:30 -08:00
configure.ac x86: Set minimum x86-64 level marker [BZ #27318] 2021-03-06 07:49:30 -08:00
cpu-features-offsets.sym x86: Cleanup cpu-features-offsets.sym 2018-08-03 06:42:09 -07:00
cpu-features.c x86-64: Remove Prefer_AVX2_STRCMP 2022-04-26 18:18:16 -07:00
cpu-tunables.c x86-64: Remove Prefer_AVX2_STRCMP 2022-04-26 18:18:16 -07:00
dl-cacheinfo.h x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h 2022-04-26 18:18:16 -07:00
dl-cet.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
dl-diagnostics-cpu.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
dl-get-cpu-features.c Fix misplaced const 2021-01-25 15:09:02 +01:00
dl-hwcap.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-isa-level.h ldconfig/x86: Store ISA level in cache and aux cache 2021-01-13 05:51:17 -08:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-minsigstacksize.h sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305] 2021-02-01 11:00:52 -08:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-procruntime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-prop.h x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
dl-tunables.list x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h 2022-04-26 18:18:16 -07:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
elide.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
float128-abi.h Move __isnanf128 to libc.so 2021-03-30 14:58:19 +05:30
fpu_control.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
get-cpuid-feature-leaf.c <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
get-isa-level.h <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
init-arch.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
isa-level.c x86: Set minimum x86-64 level marker [BZ #27318] 2021-03-06 07:49:30 -08:00
jmp_buf-ssp.sym x86: Support shadow stack pointer in setjmp/longjmp 2018-07-14 05:59:53 -07:00
ldbl2mpn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libc-start.c Use hidden visibility for early static PIE code 2021-01-21 15:55:01 +00:00
libc-start.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
link_map.h x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
linkmap.h Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
longjmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makeconfig Add _Float64x function aliases. 2017-11-27 14:16:47 +00:00
Makefile x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896] 2022-02-18 14:59:54 -08:00
string_private.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sysdep.h x86: Modify ENTRY in sysdep.h so that p2align can be specified 2022-04-26 18:18:16 -07:00
tininess.h Use sysdeps/x86/tininess.h for i386 and x86_64 2012-10-30 20:38:31 -07:00
tst-cet-legacy-1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-1a.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-2a.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-4a.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-4b.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-4c.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-5.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-5a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-5b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-6.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-6a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-6b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-7.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-9-static.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-9.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-10-static.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-10.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-cet-legacy-mod-1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-4.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-mod-5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-5a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-5b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-5c.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-6a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-6b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-6c.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-6d.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cpu-features-cpuinfo-static.c x86: Add PTWRITE feature detection [BZ #27346] 2021-02-07 08:01:14 -08:00
tst-cpu-features-cpuinfo.c elf: Fix tst-cpu-features-cpuinfo for KVM guests on some AMD systems [BZ #28704] 2021-12-17 20:35:45 +01:00
tst-cpu-features-supports-static.c x86: Add PTWRITE feature detection [BZ #27346] 2021-02-07 08:01:14 -08:00
tst-cpu-features-supports.c x86: Use CHECK_FEATURE_PRESENT to check HLE [BZ #27398] 2022-02-01 05:44:27 -08:00
tst-get-cpu-features-static.c Add _dl_x86_cpu_features to rtld_global 2015-08-13 03:41:22 -07:00
tst-get-cpu-features.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-ifunc-isa-1-static.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa-1.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa-2-static.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa-2.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa.h x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-isa-level-1.c <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
tst-isa-level-mod-1-baseline.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1-v2.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1-v3.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1-v4.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-ldbl-nonnormal-printf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-memchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memcmp-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memmove-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memrchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memset-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-setjmp-cet.c x86: Set header.feature_1 in TCB for always-on CET [BZ #27177] 2021-01-13 05:03:34 -08:00
tst-stack-align.h Properly check stack alignment [BZ #27901] 2021-05-24 07:42:12 -07:00
tst-strchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-strcpy-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-string-rtm.h x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-strlen-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-strncmp-rtm.c x86: Fix TEST_NAME to make it a string in tst-strncmp-rtm.c 2022-02-18 15:34:40 -08:00
tst-strrchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-sysconf-cache-linesize-static.c x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] 2021-03-15 05:43:26 -07:00
tst-sysconf-cache-linesize.c x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] 2021-03-15 05:43:26 -07:00
tst-wcsncmp-rtm.c x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896] 2022-02-18 14:59:54 -08:00
Versions <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00