commit | 2fef35537f00517b63201420f3142e99425a4693 | [log] [tgz] |
---|---|---|
author | Chuanxiao Dong <chuanxiao.dong@intel.corp-partner.google.com> | Thu Jan 20 01:20:53 2022 |
committer | David Stevens <stevensd@chromium.org> | Sat Jan 22 06:48:27 2022 |
tree | 72a757b95d69db58c5ef8b859404b116ca6859cb | |
parent | e88502f2161e984a89005f94cc4f49f7e4669be8 [diff] |
coiommu: add unpin_gen_threshold parameter optimize the LRU unpin The pages which are frequently used by the VM are likely not to be unpinned. So an optimization is to skip the unpin scan for those pages in the LRU unpin policy. The unpin_gen_threshold defines a threshold number that, if a page cannot be unpinned in a period of (unpin_gen_threshold* unpin_interval) seconds, then this page will be marked as inactive. Those inactive pages will be scanned every (unpin_gen_threshold* unpin_interval) seconds if there is no enough active pages to unpin. BUG=b:188481989 TEST=Boot a VM with coiommu lru unpin policy + pass through devices. Change-Id: Ie020173097b6f4f925cafc121a802243ef65f165 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3292941 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: 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 Chrome OS 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 Chrome OS devices.