diff options
Diffstat (limited to 'results/classifier/118/performance/2686')
| -rw-r--r-- | results/classifier/118/performance/2686 | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/results/classifier/118/performance/2686 b/results/classifier/118/performance/2686 new file mode 100644 index 00000000..c4f5bb2f --- /dev/null +++ b/results/classifier/118/performance/2686 @@ -0,0 +1,78 @@ +performance: 0.886 +graphic: 0.855 +debug: 0.843 +device: 0.803 +socket: 0.763 +network: 0.755 +architecture: 0.744 +PID: 0.723 +vnc: 0.714 +permissions: 0.695 +risc-v: 0.684 +VMM: 0.673 +arm: 0.654 +hypervisor: 0.635 +peripherals: 0.616 +files: 0.615 +boot: 0.601 +TCG: 0.595 +i386: 0.580 +kernel: 0.572 +register: 0.559 +mistranslation: 0.557 +ppc: 0.552 +user-level: 0.495 +semantic: 0.494 +assembly: 0.469 +x86: 0.418 +virtual: 0.391 +KVM: 0.279 + +rng-seed addition causing test_loongarch64_virt.py to hang in EFI startup +Description of problem: +Since the rng-seed addition, the test_loongarch64_virt.py test will periodically hang. + +git bisect blames this + +``` +commit d9bd1ccbf1d84d872aed684c65fec33814b8ac1b +Author: Jason A. Donenfeld <Jason@zx2c4.com> +Date: Thu Sep 5 17:33:16 2024 +0200 + + hw/loongarch: virt: pass random seed to fdt + + If the FDT contains /chosen/rng-seed, then the Linux RNG will use it to + initialize early. Set this using the usual guest random number + generation function. + + This is the same procedure that's done in b91b6b5a2c ("hw/microblaze: + pass random seed to fdt"), e4b4f0b71c ("hw/riscv: virt: pass random seed + to fdt"), c6fe3e6b4c ("hw/openrisc: virt: pass random seed to fdt"), + 67f7e426e5 ("hw/i386: pass RNG seed via setup_data entry"), c287941a4d + ("hw/rx: pass random seed to fdt"), 5e19cc68fb ("hw/mips: boston: pass + random seed to fdt"), 6b23a67916 ("hw/nios2: virt: pass random seed to fdt") + c4b075318e ("hw/ppc: pass random seed to fdt"), and 5242876f37 + ("hw/arm/virt: dt: add rng-seed property"). + + These earlier commits later were amended to rerandomize the RNG seed on + snapshot load, but the LoongArch code somehow already does that, despite + not having this patch here, presumably due to some lucky copy and + pasting. + + Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> + Reviewed-by: Song Gao <gaosong@loongson.cn> + Message-Id: <20240905153316.2038769-1-Jason@zx2c4.com> + Signed-off-by: Song Gao <gaosong@loongson.cn> +``` + +When it hangs, test_loongarch64_virt.py will get stuck waiting for serial console output from the guest. + +Looking at the console.log file shows it to be completely empty. + +This appears to indicate it has hung before EDK has even initialized, as it has not even printed the 'Entering C environment' message +Steps to reproduce: +1. ./configure --target-list=loongarch64-softmmu +2. make -j 20 +3. n=0 ; while true ; do n=$(expr $n + 1); echo $n ; QEMU_TEST_QEMU_BINARY=./build/qemu-system-loongarch64 PYTHONPATH=./python ./tests/functional/test_loongarch64_virt.py ; done + +Most commonly it will hang within 10 iterations, very occasionally needing upto 25 |