summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/performance/2686
blob: c4f5bb2f71afd8088048060efe1eff02a972207f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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