On Wed, Apr 17, 2024 at 09:38:26PM +0200, Andrea Righi wrote: > On Wed, Apr 17, 2024 at 06:12:10PM +0200, Ricardo Ribalda wrote: > ... > > > Doing the proper comparison (disabling kvm), adding '-cpu max' to the > > > equation and measuring the boot time of multiple virtme-ng runs, gives > > > me the following result (average of 10 runs): > > > > > > machine > > > +---------------- > > > | default q35 > > > ---------+---------------- > > > cpu |default | 13s 11s > > > |max | 15s 14s > > > > > > I've tried a couple of kernel configs and I get similar results. > > > > > > In the scope of virtme-ng (optimize boot time) I'd say that it'd makes > > > sense to use '-machine q35' and default cpu settings when kvm is > > > unavailable. > > > > > > Ricardo, do you see similar results? > > > > I see even more difference between q35 and default. > > These are my kernel options: > > https://gitlab.freedesktop.org/linux-media/media-ci/-/blob/main/test-virtme.sh?ref_type=heads#L27 > > Ok, I'll run some tests with these options as well. > > > I see an issue to automatically set the machine and it is that we > > would not be able to override it with something like: > > > > virtme-run .......... --qemu-opts -machine q35 > > If I'm not wrong the last one should override the previous ones, > so --qemu-opts should still win over the default. > > > > > If this patch lands in qemu we might be able to ignore all these: > > https://lore.kernel.org/qemu-devel/20240417135608.2613586-1-ribalda@xxxxxxxxxxxx/T/#u > > Yep, this is much better, thanks for this fix. Let's keep the defaults > for now in virtme-ng, I'll just add a note to the troubleshooting > section. I actually changed my mind and merged this in virtme-ng: https://github.com/arighi/virtme-ng/pull/110 I did more tests and in terms of boot time using the q35 arch really seems to systematically improve performance (I tested this across multiple hardware and kernel configs). It also seems to improve the CI run test (that is executed as a github workflow, where kvm isn't available). As we can see here: - default arch, run test 34s: https://github.com/arighi/virtme-ng/actions/runs/8935862788/job/24545125258 - q35 arch, run test 28s: https://github.com/arighi/virtme-ng/actions/runs/8936234891/job/24546173523 Ricardo's fix can help to mitigate the issue with ACPI, but for now I think using q35 when kvm isn't available can help to speed up tests in similar CI environments. Thanks, -Andrea