vmsilo fork of vhost rust libraries
Find a file
German Maglione 9d4fc177aa vhost-user-backend: bump up MAX_MEM_SLOTS to 509
Let's support up to 509 mem slots, just like vhost in the kernel usually
does. This is required to properly support memory hotplug, either using
multiple DIMMs (ACPI supports up to 256) or using virtio-mem.

The 509 used to be the KVM limit, it supported 512, but 3 were
used for internal purposes. Currently, KVM supports more than 512, but
it usually doesn't make use of more than ~260 (i.e., 256 DIMMs + boot
memory), except when other memory devices like PCI devices with BARs are
used. So, 509 seems to work well for vhost in the kernel.

Details can be found in the QEMU change that made virtio-mem consume
up to 256 mem slots across all virtio-mem devices. [1]

509 mem slots implies 509 VMAs/mappings in the worst case (even though,
in practice with virtio-mem we won't be seeing more than ~260 in most
setups).

With max_map_count under Linux defaulting to 64k, 509 mem slots
still correspond to less than 1% of the maximum number of mappings.
There are plenty left for the application to consume.

[1] https://lore.kernel.org/all/20230926185738.277351-1-david@redhat.com/

Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: German Maglione <gmaglione@redhat.com>
2024-01-12 15:31:51 +01:00
.buildkite vhost: Adopt new backend naming 2023-09-13 13:00:10 +02:00
.cargo fix link issues on aarch64 musl 2020-09-04 17:59:53 +03:00
.github dependabot: enable update grouping 2023-11-14 15:04:11 +01:00
rust-vmm-ci@b31e811bb4 build(deps): bump rust-vmm-ci from 0100de0 to b31e811 2024-01-09 09:22:38 +01:00
vhost vhost-user-backend: bump up MAX_MEM_SLOTS to 509 2024-01-12 15:31:51 +01:00
vhost-user-backend vhost-user-backend: bump up MAX_MEM_SLOTS to 509 2024-01-12 15:31:51 +01:00
.gitignore Update .gitignore file 2021-03-01 12:50:56 +01:00
.gitmodules Switch to rust-vmm-ci for the CI 2020-09-04 17:59:53 +03:00
Cargo.toml Move all crates to workspace root 2023-11-23 16:36:57 +01:00
CODEOWNERS CODEOWNERS: add myself 2023-11-23 18:28:47 +08:00
coverage_config_aarch64.json vhost: Adopt new backend naming 2023-09-13 13:00:10 +02:00
coverage_config_x86_64.json coverage: update the score 2023-12-11 15:33:51 +01:00
LICENSE Initial commit 2019-04-03 14:38:29 +08:00
LICENSE-BSD-3-Clause Refine BSD-3-Clause license file 2021-11-26 21:19:40 +08:00
README.md vhost: Add README for the workspace 2022-10-11 12:28:33 +05:30

vhost

The vhost workspace hosts libraries related to the vhost and vhost-user protocols. It currently consists of the following crates:

  • vhost -> A pure rust library for vDPA, vhost and vhost-user.
  • vhost-user-backend -> It provides a framework to implement vhost-user backend services.