Progress:
* QEMU-623 [Nested Virtualization Emulation]
- Progress on debugging: fixed last week's bugs, and can now get
the outer kernel to boot a middle kernel which boots an inner
kernel. Unfortunately the inner kernel boot hangs during init of the
PF_NETLINK subsystem, when it hits a prefetch abort due to a
permissions check failure in the stage 2...
- tidied up a lot of the bugfix fixup patches I had in my patchstack
and merged them into the correct patches; they would be quite close
to ready to send out if not for the bug I'm chasing down.
-- PMM
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We track this report status in https://linaro.atlassian.net/browse/GNU-1064 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-aarch64-next-defconfig after:
| commit gcc-14-6259-g20214aaab6f
| Author: Victor Do Nascimento <victor.donascimento(a)arm.com>
| Date: Thu Nov 2 15:52:52 2023 +0000
|
| aarch64: rcpc3: add Neon ACLE wrapper functions to `arm_neon.h'
|
| Create the necessary mappings from the ACLE-defined Neon intrinsics
| names[1] to the internal builtin function names.
|
| [1] https://arm-software.github.io/acle/neon_intrinsics/advsimd.html
|
| ... 18 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
8197
# First few build errors in logs:
# 00:00:56 /home/tcwg-buildslave/workspace/tcwg_kernel_1/abe/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-linux-gnu/14.0.0/include/arm_neon.h:13474:48: error: passing argument 1 of ‘__builtin_aarch64_vec_ldap1_lanev1di’ from incompatible pointer type [-Wincompatible-pointer-types]
# 00:00:56 /home/tcwg-buildslave/workspace/tcwg_kernel_1/abe/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-linux-gnu/14.0.0/include/arm_neon.h:13481:48: error: passing argument 1 of ‘__builtin_aarch64_vec_ldap1_lanev2di’ from incompatible pointer type [-Wincompatible-pointer-types]
# 00:00:56 /home/tcwg-buildslave/workspace/tcwg_kernel_1/abe/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-linux-gnu/14.0.0/include/arm_neon.h:13536:40: error: passing argument 1 of ‘__builtin_aarch64_vec_stl1_lanev1di’ from incompatible pointer type [-Wincompatible-pointer-types]
# 00:00:56 /home/tcwg-buildslave/workspace/tcwg_kernel_1/abe/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-linux-gnu/14.0.0/include/arm_neon.h:13543:40: error: passing argument 1 of ‘__builtin_aarch64_vec_stl1_lanev2di’ from incompatible pointer type [-Wincompatible-pointer-types]
# 00:00:56 make[3]: *** [scripts/Makefile.build:243: arch/arm64/lib/xor-neon.o] Error 1
# 00:00:56 make[2]: *** [scripts/Makefile.build:480: arch/arm64/lib] Error 2
# 00:11:43 make[1]: *** [/home/tcwg-buildslave/workspace/tcwg_kernel_1/linux/Makefile:1911: .] Error 2
# 00:11:43 make: *** [Makefile:234: __sub-make] Error 2
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
9409
# linux build successful:
all
# linux boot successful:
boot
The configuration of this build is:
CI config tcwg_kernel/gnu-master-aarch64-next-defconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-aarch64-next-defconfig-bu…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-aarch64-next-defconfig-bu…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
Full commit : https://github.com/gcc-mirror/gcc/commit/20214aaab6fe8d77523ef86b47248f3599…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-aarch64-next-defconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-aarch64-next-defconfig-bu…
On Thu, 7 Dec 2023 at 05:12, <ci_notify(a)linaro.org> wrote:
>
> Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
I've already fixed this one locally.
>
> In gcc_check master-arm after:
>
> | gcc patch https://patchwork.sourceware.org/patch/81520
> | Author: Jonathan Wakely <jwakely(a)redhat.com>
> | Date: Wed Dec 6 14:18:12 2023 +0000
> |
> | libstdc++: Make __gnu_debug::vector usable in constant expressions [PR109536]
> |
> | Any comments on this approach?
> |
> | -- >8 --
> |
> | This makes constexpr std::vector (mostly) work in Debug Mode. All safe
> | ... 73 lines of the commit log omitted.
> | ... applied on top of baseline commit:
> | 3ba505c7b17 [APX NDD] Support TImode shift for NDD
>
> FAIL: 1 regressions
>
> regressions.sum:
> === libstdc++ tests ===
>
> Running libstdc++:libstdc++-dg/conformance.exp ...
> FAIL: 23_containers/vector/cons/destructible_debug_neg.cc -std=gnu++17 (test for errors, line 172)
>
> === Results Summary ===
>
> You can find the failure logs in *.log.1.xz files in
> - https://ci.linaro.org/job/tcwg_gcc_check--master-arm-precommit/5295/artifac… .
> The full lists of regressions and progressions are in
> - https://ci.linaro.org/job/tcwg_gcc_check--master-arm-precommit/5295/artifac… .
> The list of [ignored] baseline and flaky failures are in
> - https://ci.linaro.org/job/tcwg_gcc_check--master-arm-precommit/5295/artifac… .
>
> The configuration of this build is:
> CI config tcwg_gcc_check master-arm
>
> -----------------8<--------------------------8<--------------------------8<--------------------------
> The information below can be used to reproduce a debug environment:
>
> Current build : https://ci.linaro.org/job/tcwg_gcc_check--master-arm-precommit/5295/artifac…
> Reference build : https://ci.linaro.org/job/tcwg_gcc_check--master-arm-build/1418/artifact/ar…
Hello Tamar,
It looks like this failure happens because qemu-aarch64 segfaults when
trying to run the testcase binary:
Running on qemu: timeout -k 30s 330s setarch x86_64 -R qemu-aarch64 -cpu any -R 0 -L /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/aarch64-linux-gnu/libc ./mask_struct_load_3_run.exe
spawn [open ...]
timeout: the monitored command dumped core
FAIL: gcc.target/aarch64/sve/mask_struct_load_3_run.c execution test
Which would be a QEMU bug. I'm working on reproducing it and will report
there if appropriate.
However, our CI also found some size and performance regressions with
this commit, as detailed in https://linaro.atlassian.net/browse/GNU-1040:
- tcwg_bmk-code_size-cpu2017fast
- gnu-aarch64-master-O2: grew in size by 3% - 508.namd_r
- gnu-aarch64-master-O2_LTO: grew in size by 2% - 508.namd_r
- tcwg_bmk-code_size-spec2k6
- gnu-aarch64-master-O2: grew in size by 2% - 447.dealII
- gnu-aarch64-master-Os: grew in size by 2% - 456.hmmer
- tcwg_bmk-code_speed-cpu2017rate
- gnu-aarch64-master-O2: slowed down by 5% - 519.lbm_r
- gnu-aarch64-master-O3: slowed down by 5% - 519.lbm_r
- tcwg_bmk-fujitsu_speed-cpu2017speed
- gnu-aarch64-master-O2: slowed down by 19% - 644.nab_s:[.] exp@@GLIBC_2.29
The link above has the full results.
ci_notify(a)linaro.org writes:
> Dear contributor, our automatic CI has detected problems related to your patch(es). Please
> find some details below. If you have any questions, please follow up on
> linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping
> your favourite Linaro toolchain developer on the usual project channel.
>
> In master-aarch64 after:
>
> | commit gcc-14-5673-g33c2b70dbab
> | Author: Tamar Christina <tamar.christina(a)arm.com>
> | Date: Tue Nov 21 13:20:39 2023 +0000
> |
> | AArch64: Add new generic-armv8-a CPU and make it the default.
> |
> | This patch adds a new generic scheduling model "generic-armv8-a" and makes it
> | the default for all Armv8 architectures.
> |
> | -mcpu=generic and -mtune=generic is kept around for those that really want the
> | previous cost model.
> | ... 34 lines of the commit log omitted.
>
> FAIL: 1 regressions: 8 progressions
>
> regressions.sum:
> === gcc tests ===
>
> Running gcc:gcc.target/aarch64/sve/aarch64-sve.exp ...
> FAIL: gcc.target/aarch64/sve/mask_struct_load_3_run.c execution test
>
> === Results Summary ===
>
> progressions.sum:
> === gcc tests ===
>
> Running gcc:gcc.dg/vect/vect.exp ...
> FAIL: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c -flto -ffat-lto-objects (test for excess errors)
> UNRESOLVED: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c compilation failed to produce executable
> UNRESOLVED: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c -flto -ffat-lto-objects compilation failed to produce executable
> FAIL: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c (test for excess errors)
> UNRESOLVED: gcc.dg/vect/vect-reduc-pattern-1b.c compilation failed to produce executable
> UNRESOLVED: gcc.dg/vect/vect-reduc-pattern-1b.c -flto -ffat-lto-objects compilation failed to produce executable
> FAIL: gcc.dg/vect/vect-reduc-pattern-1b.c (test for excess errors)
> ... and 3 more entries
>
> You can find the failure logs in *.log.1.xz files in
> - https://ci.linaro.org/job/tcwg_gnu_cross_check_gcc--master-aarch64-build/11… .
> The full lists of regressions and progressions are in
> - https://ci.linaro.org/job/tcwg_gnu_cross_check_gcc--master-aarch64-build/11… .
> The list of [ignored] baseline and flaky failures are in
> - https://ci.linaro.org/job/tcwg_gnu_cross_check_gcc--master-aarch64-build/11… .
>
> The configuration of this build is:
> CI config tcwg_gnu_cross_check_gcc master-aarch64
>
> -----------------8<--------------------------8<--------------------------8<--------------------------
> The information below can be used to reproduce a debug environment:
>
> Current build : https://ci.linaro.org/job/tcwg_gnu_cross_check_gcc--master-aarch64-build/11…
> Reference build : https://ci.linaro.org/job/tcwg_gnu_cross_check_gcc--master-aarch64-build/11…
>
> Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
>
> Full commit : https://github.com/gcc-mirror/gcc/commit/33c2b70dbabc02788caabcbc66b7baeafe…
>
> Latest bug report status : https://linaro.atlassian.net/browse/GNU-1040
>
> List of configurations that regressed due to this commit :
> * tcwg_gnu_cross_check_gcc
> ** master-aarch64
> *** FAIL: 1 regressions: 8 progressions
> *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
> *** https://ci.linaro.org/job/tcwg_gnu_cross_check_gcc--master-aarch64-build/11…
--
Thiago
On Wed, 6 Dec 2023 at 06:04, <ci_notify(a)linaro.org> wrote:
>
> Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
>
> We track this report status in https://linaro.atlassian.net/browse/GNU-1063 , please let us know if you are looking at the problem and/or when you have a fix.
I think my fix for PR 112882 fixes these too.
>
> In gcc_check master-aarch64 after:
>
> | commit gcc-14-6198-g5e8a30d8b8f
> | Author: Jonathan Wakely <jwakely(a)redhat.com>
> | Date: Tue Dec 5 10:22:17 2023 +0000
> |
> | libstdc++: Redefine __glibcxx_assert to work in C++23 constexpr
> |
> | The changes in r14-5979 to support unknown references in constant
> | expressions caused some test regressions. The way that __glibcxx_assert
> | is defined for constant evaluation no longer works when
> | _GLIBCXX_ASSERTIONS is defined.
> |
> | ... 40 lines of the commit log omitted.
>
> FAIL: 20 regressions
>
> regressions.sum:
> === g++ tests ===
>
> Running g++:g++.dg/dg.exp ...
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 28 not found: " *inlined from [^\n
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 29 not found: " *inlined from [^\n
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 43 not found: " *inlined from [^\n
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 44 not found: " *inlined from [^\n
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 45 not found: " *inlined from [^\n
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 75 not found: " *inlined from [^\n
> FAIL: g++.dg/warn/Winvalid-memory-model-2.C -std=gnu++17 dg-regexp 76 not found: " *inlined from [^\n
> ... and 15 more entries
>
> You can find the failure logs in *.log.1.xz files in
> - https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/1305/artifac… .
> The full lists of regressions and progressions are in
> - https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/1305/artifac… .
> The list of [ignored] baseline and flaky failures are in
> - https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/1305/artifac… .
>
> The configuration of this build is:
> CI config tcwg_gcc_check master-aarch64
>
> -----------------8<--------------------------8<--------------------------8<--------------------------
> The information below can be used to reproduce a debug environment:
>
> Current build : https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/1305/artifac…
> Reference build : https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/1304/artifac…
>
> Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
>
> Full commit : https://github.com/gcc-mirror/gcc/commit/5e8a30d8b8f4d7ea0a8340b46c1e0c865d…
>
> List of configurations that regressed due to this commit :
> * tcwg_gcc_check
> ** master-aarch64
> *** FAIL: 20 regressions
> *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
> *** https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/1305/
Progress:
* UM-2 [QEMU upstream maintainership]
- Sent a pullrequest for this week's rc
- Sent a patch which disables SME if SVE is disabled, since QEMU currently
asserts if you try to use that combination.
* QEMU-623 [Nested Virtualization Emulation]
- Mostly working through debugging issues in my FEAT_NV/FEAT_NV2
emulation. I can get the inner guest kernel to boot up to the point
where it tries to 'eret' and the outer kernel thinks that's an invalid
exception return. More debugging scheduled for next week...
-- PMM