Skip to content
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

Improve x86_64 emulation on arm64 platform #471

Closed
gayanper opened this issue Dec 12, 2021 · 3 comments · Fixed by #494
Closed

Improve x86_64 emulation on arm64 platform #471

gayanper opened this issue Dec 12, 2021 · 3 comments · Fixed by #494
Labels
component/qemu QEMU enhancement New feature or request

Comments

@gayanper
Copy link
Contributor

The current x86_64 emulation try to use the apple-hypervisor as the accelerator which only use 1 cpu on the host machine regardless how much cpu core are assigned.

But changing the accelerator parameter from apple hypervisor to tcg with few more extra parameters which UTM use when emulating improved the emulation performance up to the point docker qemu userspace emulation.

gayanper added a commit to gayanper/lima that referenced this issue Dec 12, 2021
This change will use qemu64 cpu for better emulation and add some extra parameters like tcg accel and force multi threading where multiple host threads will be used for vcpus according to qemu documentation. Added few more extra parameters which are used by UTM for better emulation of x86_64
@jandubois jandubois added component/qemu QEMU enhancement New feature or request labels Dec 12, 2021
@jandubois
Copy link
Member

changing the accelerator parameter from apple hypervisor to tcg with few more extra parameters which UTM use

I was about to ask what the "few more extra parameters" are, but it looks like you are working on a PR for this already, so I'll wait until you open that for review! :)

@AkihiroSuda
Copy link
Member

@gayanper Do you plan to submit a PR?

@gayanper
Copy link
Contributor Author

Yes i will provide a PR with the suggested changes during today.

gayanper added a commit to gayanper/lima that referenced this issue Dec 24, 2021
This change will use qemu64 cpu for better emulation
and add some extra parameters like tcg accel and
force multi threading where multiple host threads will
be used for vcpus according to qemu documentation.
Added few more extra parameters which are used by
UTM for better emulation of x86_64
gayanper added a commit to gayanper/lima that referenced this issue Dec 24, 2021
This change will use qemu64 cpu for better emulation
and add some extra parameters like tcg accel and
force multi threading where multiple host threads will
be used for vcpus according to qemu documentation.
Added few more extra parameters which are used by
UTM for better emulation of x86_64

Signed-off-by: Gayan Perera <gayanper@gmail.com>
gayanper added a commit to gayanper/lima that referenced this issue Dec 25, 2021
This change will use qemu64 cpu for better emulation
and add some extra parameters like tcg accel and
force multi threading where multiple host threads will
be used for vcpus according to qemu documentation.
Added few more extra parameters which are used by
UTM for better emulation of x86_64

Signed-off-by: Gayan Perera <gayanper@gmail.com>
@AkihiroSuda AkihiroSuda linked a pull request Dec 27, 2021 that will close this issue
gayanper added a commit to gayanper/lima that referenced this issue Dec 27, 2021
This change will use qemu64 cpu for better emulation
and add some extra parameters like tcg accel and
force multi threading where multiple host threads will
be used for vcpus according to qemu documentation.
Added few more extra parameters which are used by
UTM for better emulation of x86_64

Signed-off-by: Gayan Perera <gayanper@gmail.com>
AkihiroSuda added a commit that referenced this issue Dec 28, 2021
Fix #471: Improve x86_64 emulation on arm64 platform
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/qemu QEMU enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants