-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uhyve is very slow in Githubs CI #790
Comments
Uploaded the |
After removing the following line on my system (with its fair share of environment variables), I managed to gain a performance boost of 10 seconds (before, it was around ~14) with 20k-27k less hypercalls (depending on the log level). This probably warrants some further investigation: Line 323 in d4bc7da
|
In release mode? This would be most surprising. 🤔 I'll have a look at the kernel to see if anything jumps on me. |
Statistics from running a release-profile With env in FDT:
Without env in FDT:
(@jounathaen it would be nice if the statistics would be sorted automatically, also there is a trailing space) These numbers do make sense, since the output with the environment is a 21,000 characters longer than without, and we currently do one hypercall per character if I am not mistaken. This does not explain the slowdown in CI, though, since the CI spends most of the time with number crunching and not with UART output. Edit: for comparison, QEMU with KVM for
|
We definitely have to implement the buffered serial hypercall in Hermit.
By which measure do you want to sort them? I think alphabetically makes most sense to have the best comparability. |
Yeah, alphabetically is what I was thinking of. I had to sort them manually, the order was non-deterministic. |
Firecracker is much faster on the same GitHub-hosted runner (dev profile): Uhyve:
Firecracker:
Uhyve SMP:
Firecracker SMP:
Maybe our interrupt handling is way slower? For the record, these are the KVM capabilities, but I have not looked into whether they might be relevant here. |
Example run:
https://github.com/hermit-os/kernel/actions/runs/11801739625/job/32875789502
The text was updated successfully, but these errors were encountered: