cloud-hypervisor/vmm/src
Sean Banko 7633d47293 vmm: prefault memory in parallel to optimize boot time
On guests with large amounts of memory, using the `prefault` option can
lead to a very long boot time. This commit implements the strategy
taken by QEMU to prefault memory in parallel using multiple threads,
decreasing the time to allocate memory for large guests by
an order of magnitude or more.

For example, this commit reduces the time to allocate memory for a
guest configured with 704 GiB of memory on 1 NUMA node using 1 GiB
hugepages from 81.44134669s to just 6.865287881s.

Signed-off-by: Sean Banko <sbanko@crusoeenergy.com>
2024-02-07 08:59:03 -08:00
..
api devices: add debug-console device 2024-01-25 10:25:14 -08:00
igvm vmm: check correct buffer size during import 2024-02-06 14:28:42 -08:00
acpi.rs arch: x86_64: handle npot CPU topology 2024-01-01 10:05:03 +00:00
clone3.rs vmm: notify virtio-console of pty resizes 2021-09-14 15:43:25 +01:00
config.rs devices: add debug-console device 2024-01-25 10:25:14 -08:00
coredump.rs vmm: Automatically pause VM for coredump 2023-07-31 17:05:46 +01:00
cpu.rs vmm: set SEV control register for SEV-Enabled guest 2024-01-24 14:32:16 -08:00
device_manager.rs vmm: Directly clone console resize pipe 2024-02-07 09:25:40 +00:00
device_tree.rs vmm: reduce memory copy when BFT device tree 2023-05-15 17:19:48 +01:00
gdb.rs build: Bump gdbstub and gdbstub_arch 2023-12-05 10:50:06 +00:00
interrupt.rs vm-device: support batch update interrupt source group GSI 2023-08-03 15:58:36 +01:00
lib.rs devices: add debug-console device 2024-01-25 10:25:14 -08:00
memory_manager.rs vmm: prefault memory in parallel to optimize boot time 2024-02-07 08:59:03 -08:00
migration.rs vmm: speed up JSON load when reading snap files 2023-11-16 14:56:04 -08:00
pci_segment.rs vmm: assign each pci segment 32-bit mmio allocator 2023-11-20 15:33:50 -08:00
seccomp_filters.rs virtio-devices, vmm: Update seccomp list 2023-10-31 15:34:17 +00:00
serial_manager.rs serial_manager: Remove serial socket 2023-10-05 15:26:29 +01:00
sigwinch_listener.rs vmm: Make thread local initialiser constant 2024-02-07 09:25:40 +00:00
vm_config.rs devices: add debug-console device 2024-01-25 10:25:14 -08:00
vm.rs devices: add debug-console device 2024-01-25 10:25:14 -08:00