commit | 22c212d54f1fc7c9854084ffaa697b7890a14b0a | [log] [tgz] |
---|---|---|
author | David Stevens <stevensd@chromium.org> | Thu Apr 06 19:30:38 2023 +0900 |
committer | crosvm LUCI <crosvm-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Apr 11 00:58:43 2023 +0000 |
tree | 3422086f7fb231f83662f62e0c45d545f49a4782 | |
parent | 57b5eca18269278fca9007dfa4976638bca49537 [diff] |
vm_control: reduce user memory region modifications Reduce how often KVM_SET_USER_MEMORY_REGION is called when the tdp mmu is enabled. With the tdp mmu, there is no memory overhead from creating large memory regions (at least until a nested VM is started). Simply mmap'ing/munmap'ing fds within a pre-created memory region is more efficient. It also addresses audio jank caused by removing a memory region. Adding this support to VmMemoryRequest will allow FsMappingRequest to be removed in a later change. BUG=b:274037632 TEST=tast run arc.Boot.vm TEST=manually launch gedit in crostini Change-Id: I2ac02454ecb734c9707b6d67546135134b887527 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4402068 Reviewed-by: Dennis Kempin <denniskempin@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: David Stevens <stevensd@chromium.org>
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on ChromeOS devices.