After glibc-2.36.9000-435-g569cfcc6bf commit 
569cfcc6bf35c28112ca8d7112e9eb4a22bed5b8
Author: Samuel Thibault <samuel.thiba...@ens-lyon.org>

    hurd: Fix _NOFLSH value

the following benchmarks slowed down by more than 3%:
- 459.GemsFDTD failed to build
- 436.cactusADM failed to build

Below reproducer instructions can be used to re-build both "first_bad" and 
"last_good" cross-toolchains used in this bisection.  Naturally, the scripts 
will fail when triggerring benchmarking jobs if you don\'t have access to 
Linaro TCWG CI.

For your convenience, we have uploaded tarballs with pre-processed source and 
assembly files at:
- First_bad save-temps: $FIRST_BAD_ARTIFACTS/save-temps/
- Last_good save-temps: $LAST_GOOD_ARTIFACTS/save-temps/
- Baseline save-temps: $BASELINE_ARTIFACTS/save-temps/

Configuration:
- Benchmark: SPEC CPU2006
- Toolchain: GCC + Glibc + GNU Linker
- Version: all components were built from their tip of trunk
- Target: aarch64-linux-gnu
- Compiler flags: -O3 -flto
- Hardware: 

This benchmarking CI is work-in-progress, and we welcome feedback and 
suggestions at linaro-toolchain@lists.linaro.org .  In our improvement plans is 
to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" 
data behind these reports.

THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION 
INSTRUCTIONS, AND THE RAW COMMIT.

For latest status see comments in https://linaro.atlassian.net/browse/GNU-692 .
Status of glibc-2.36.9000-435-g569cfcc6bf commit for 
tcwg_bmk-code_speed-spec2k6:
commit 569cfcc6bf35c28112ca8d7112e9eb4a22bed5b8
Author: Samuel Thibault <samuel.thiba...@ens-lyon.org>
Date:   Sun Jan 15 20:54:42 2023 +0100

    hurd: Fix _NOFLSH value
    
    shifting 1 (thus an integer) left 31 bit is undefined behavior. We have to
    make it an unsigned integer to properly get 0x80000000 (like done in other
    places).
* gnu-aarch64-master-O3_LTO
** After glibc-2.36.9000-435-g569cfcc6bf commit 
569cfcc6bf35c28112ca8d7112e9eb4a22bed5b8
** Author: Samuel Thibault <samuel.thiba...@ens-lyon.org>
** 
**     hurd: Fix _NOFLSH value
** 
** the following benchmarks slowed down by more than 3%:
** - 459.GemsFDTD failed to build
** - 436.cactusADM failed to build
** 
https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3_LTO-build/7/

Bad  build: 
https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3_LTO-build/7/artifact/artifacts
Good build: 
https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3_LTO-build/4/artifact/artifacts

Reproduce current build:
<cut>
mkdir -p investigate-glibc-569cfcc6bf35c28112ca8d7112e9eb4a22bed5b8
cd investigate-glibc-569cfcc6bf35c28112ca8d7112e9eb4a22bed5b8

# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts

# Fetch manifests for bad and good builds
mkdir -p bad/artifacts good/artifacts
curl -o bad/artifacts/manifest.sh 
https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3_LTO-build/7/artifact/artifacts/manifest.sh
 --fail
curl -o good/artifacts/manifest.sh 
https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3_LTO-build/4/artifact/artifacts/manifest.sh
 --fail

# Reproduce bad build
(cd bad; ../jenkins-scripts/tcwg_bmk-build.sh ^^ true %%rr[top_artifacts] 
artifacts)
# Reproduce good build
(cd good; ../jenkins-scripts/tcwg_bmk-build.sh ^^ true %%rr[top_artifacts] 
artifacts)
</cut>

Full commit (up to 1000 lines):
<cut>
commit 569cfcc6bf35c28112ca8d7112e9eb4a22bed5b8
Author: Samuel Thibault <samuel.thiba...@ens-lyon.org>
Date:   Sun Jan 15 20:54:42 2023 +0100

    hurd: Fix _NOFLSH value
    
    shifting 1 (thus an integer) left 31 bit is undefined behavior. We have to
    make it an unsigned integer to properly get 0x80000000 (like done in other
    places).
---
 bits/termios.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bits/termios.h b/bits/termios.h
index ae62d00853..4439c2f14e 100644
--- a/bits/termios.h
+++ b/bits/termios.h
@@ -246,7 +246,7 @@ struct termios
 # define NOKERNINFO (1 << 25)  /* Disable VSTATUS.  */
 # define PENDIN        (1 << 29)       /* Retype pending input (state).  */
 #endif
-#define        _NOFLSH (1 << 31)       /* Disable flush after interrupt.  */
+#define        _NOFLSH (1U << 31)      /* Disable flush after interrupt.  */
 #define        NOFLSH  _NOFLSH
 
   /* Control characters.  */
</cut>
_______________________________________________
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org

Reply via email to