-
Notifications
You must be signed in to change notification settings - Fork 40
adding cold boot time benchmark measurement script #34
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
base: main
Are you sure you want to change the base?
Conversation
… now parametric as done in startnb.sh
|
Very nice indeed! Don't you think it would be easier to maintain if those changes were merged into |
|
Sure can do this! |
|
I've just pushed a revised version of the script, while being just an untested draft yet. Actually it has been moved from a dedicated script to helper functions used in startnb.sh when flags are passed. |
|
That's almost perfect, could you revamp the documentation to reflect the changes? Thanks! |
|
Here is the result on MacOS (arm64) : Not sure if the last line is normal |
@alexpacio can you take a look at this please? |
|
Yes, I'll take a look today. I've just tested it on linux x86-64 and works there. However i've just found out two things to improve:
Do these changes look good to you @iMilnb ? |
|
Hey, are virtio-console multiple ports even supported on MacOS? I feel like they aren't: Perhaps the netbsd's kernel image for aarch64 is not including the new kernel module with multiport support? |
|
Here's the problem for MacOS: |
Yes, it's expected. This file is not executable as is. qemu is starting fine and the kernel is booting, so the problem (if any) doesn't come from the kernel file format.
It's referenced in |
|
I've tried to overcome all the reasons why the console mode "com" is chosen instad of "viocon" in startnb.sh in macOS (arm64, Tahoe), but qemu freezes. |
This PR introduces a robust benchmarking tool for measuring VM boot times with high precision. The tool is supposed to measure the entire vm's lifecycle execution time, starting from the QEMU execution to the moment when a message, echoed by the vm into the virtiocon port, is received by the host.
The tool relies on efficient ways to detect the UNIX socket readiness. Unfortunately I couldn't use startnb.sh because I need to create the UNIX socket beforehand and attach the QEMU process to it as a client, in order to enable a deterministic approach of accessing to the socket's msg.
Also, a new service type is introduced to satisfy this specific need, so called "benchmark".
It could be interesting to have a GH action in order to continuously measure the execution times for each build.
The only things in WIP here are:
@iMilnb please take a look and let me know if you think it should be revised in any way. Thank you