summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/performance/1520
blob: 11b2d806e3cc9169d87966e0b0fe562e54ebcafa (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
x86 TCG acceleration running on s390x with -smp > host cpus slowed down by x10
Description of problem:
This boots up a trivial guest using OVMF, when the conditions below are given it runs ~10x slower.

I have found this breaking our tests of qemu 7.2 [(which due to Debian adding the offending change as backport is affected)](https://salsa.debian.org/qemu-team/qemu/-/blob/master/debian/patches/master/acpi-cpuhp-fix-guest-visible-maximum-access-size-to-.patch) by runnig an order of magnitude slower.


I was tracing it down (insert a long strange trip here) and found that it occurs:
- only with patch dab30fb "acpi: cpuhp: fix guest-visible maximum access size to the legacy reg block" applied
  - latest master is still affetced
- only with s390x running emulation of x86
  - emulating x86 on ppc64 didn't show the same behavior
- only with -smp > host cpus
  - smp 2 with 1 host cpu => slow
  - smp 4 with 2 host cpu => slow
  - any case where host cpu >= smp => fast

On average good cases are on a 2964 s390x machine taking ~5-6 seconds for the good case.
The bad case is close to 60s which is the timeout of the automated tests.

We all know -smp shouldn't be >host-cpus, and I totally admit that this is the definition of an edge case.
But I do not know what else might be affected and this just happened to be what the test does by default - and a slowdown by x10 seems too much even for edge cases to be just ignored.
And while we could just bump up the timeout (and probably will as an interim workaround) I wanted to file it here for your awareness.
Steps to reproduce:
You can recreate the same by using the commandline above and timing things on your own.

Or you can use the [autopkgtest of edk2 in Ubuntu](https://git.launchpad.net/ubuntu/+source/edk2/tree/debian/tests/shell.py#n214) which have [shown this](https://autopkgtest.ubuntu.com/results/autopkgtest-lunar/lunar/s390x/e/edk2/20230224_094012_c95f4@/log.gz) first.
Additional information:
Only signed OVMF cases are affected, while aavmf and other OVMF are more or less on the same speed.

```
1 CPU / 1GB Memory
7.0     7.2
6.54s   58.32s test_ovmf_ms
6.72s   56.96s test_ovmf_4m_ms
7.54s   55.47s test_ovmf_4m_secboot
7.56s   49.88s test_ovmf_secboot
7.01s   39.79s test_ovmf32_4m_secboot
7.38s    7.43s  test_aavmf32
7.27s    7.30s  test_aavmf
7.26s    7.26s  test_aavmf_snakeoil
5.83s    5.95s  test_ovmf_4m
5.61s    5.81s  test_ovmf_q35
5.51s    5.64s  test_ovmf_pc
5.26s    5.42s  test_ovmf_snakeoil
```

Highlighting @cborntra since it is somewhat s390x related and @mjt0k as the patch is applied as backport in Debian.
I didn't find the handle of Laszlo (Author) to highlight him as well.