-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
qemu: better cpu type and IP detection #17217
qemu: better cpu type and IP detection #17217
Conversation
Signed-off-by: Raghavendra Talur <[email protected]>
Can one of the admins verify this patch? |
Hi @raghavendra-talur. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: raghavendra-talur The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Fixes: #16814 |
@@ -125,7 +125,7 @@ func configure(cc config.ClusterConfig, n config.Node) (interface{}, error) { | |||
switch runtime.GOARCH { | |||
case "amd64": | |||
qemuMachine = "" // default | |||
qemuCPU = "" // default | |||
qemuCPU = "max" // default |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any documentation url we can read what is max and what are other options? And what are downsides of max vs others?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added the documentation in the commit message. Happy to add it as a comment above this code if you think that is a better place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can u plz link the URL to the documentation I would like to evaluate the options and figure out what exactly is "max"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RHEL9 and therefore the dependent distributions and base containers have
a minimum microarchitechture level of x86-64-v2.[1]
The default cpu level of the qemu driver on an Intel Mac is x86-64-v1
even if the host cpu has the x86-64-v2 capability. Using the cpu type of
max allows qemu to use all the host cpu capabilities that is also
supported by the hypervisor framework.[2]
This was fixed for linux host by changing the default within qemu but it
wasn't changed for MacOS.
[1] https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level
[2] https://gitlab.com/qemu-project/qemu/-/issues/1686#note_1417714887
[3] https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg04066.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you for this documentation link, I like the https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg04066.html link you shared, would u plz put that in the comment of right befire 'max' in the code ? and then it would be good to go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@medyagh Thanks for the review! I have added the link as a comment.
/ok-to-test |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
RHEL9 and therefore the dependent distributions and base containers have a minimum microarchitechture level of x86-64-v2.[1] The default cpu level of the qemu driver on an Intel Mac is x86-64-v1 even if the host cpu has the x86-64-v2 capability. Using the cpu type of max allows qemu to use all the host cpu capabilities that is also supported by the hypervisor framework.[2] This was fixed for linux host by changing the default within qemu but it wasn't changed for MacOS. [1] https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level [2] https://gitlab.com/qemu-project/qemu/-/issues/1686#note_1417714887 [3] https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg04066.html Signed-off-by: Raghavendra Talur <[email protected]>
934e682
to
8716ac0
Compare
kvm2 driver with docker runtime
Times for minikube ingress: 27.1s 28.2s 27.7s 26.2s 27.6s Times for minikube start: 49.1s 51.1s 54.9s 49.6s 52.8s docker driver with docker runtime
Times for minikube (PR 17217) start: 24.6s 21.7s 25.2s 24.0s 23.2s Times for minikube ingress: 20.9s 20.9s 20.4s 20.9s 20.4s docker driver with containerd runtime
Times for minikube start: 23.8s 21.3s 24.2s 23.3s 21.9s Times for minikube ingress: 31.3s 32.4s 31.3s 31.4s 32.4s |
These are the flake rates of all failed tests.
To see the flake rates of all tests by environment, click here. |
This PR has two commits.