mirror of
https://github.com/kata-containers/kata-containers.git
synced 2026-04-09 21:42:14 +00:00
runtime: qemu: Enable static sandbox resource management on ARM
runtime-rs lacks several features needed for CPU hotplug on ARM: pflash/UEFI firmware passthrough, SMP topology in -smp, nr_cpus kernel parameter, and QMP vCPU add handling for the virt machine type (which requires core-id only placement with socket/thread/die set to -1). Without static sandbox resource management, these gaps cause failures in tests like k8s-memory.bats where the VM is not correctly sized for the workload. Enable static_sandbox_resource_mgmt for aarch64 in the QEMU runtime-rs configuration so the VM is pre-sized at creation time, sidestepping the need for hotplug entirely. Together with this we're aligning the go runtime to the very same behaviour. Fixes: #10928 Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com> Made-with: Cursor
This commit is contained in:
@@ -389,6 +389,10 @@ else ifeq ($(ARCH), aarch64)
|
||||
# so we use virtio-blk-pci instead.
|
||||
VMROOTFSDRIVER_QEMU := virtio-blk-pci
|
||||
DEFBLOCKSTORAGEDRIVER_QEMU := virtio-scsi
|
||||
# runtime-rs lacks ARM CPU hotplug support (pflash/UEFI, SMP topology,
|
||||
# QMP vCPU add for virt machine type). Use static sandbox resource
|
||||
# management to size the VM upfront instead.
|
||||
DEFSTATICRESOURCEMGMT_QEMU := true
|
||||
else
|
||||
VMROOTFSDRIVER_QEMU := virtio-pmem
|
||||
DEFBLOCKSTORAGEDRIVER_QEMU := virtio-scsi
|
||||
|
||||
@@ -292,6 +292,10 @@ DEFVFIOMODE := guest-kernel
|
||||
DEFSANDBOXCGROUPONLY ?= false
|
||||
|
||||
DEFSTATICRESOURCEMGMT ?= false
|
||||
DEFSTATICRESOURCEMGMT_QEMU ?= false
|
||||
ifeq ($(ARCH),arm64)
|
||||
DEFSTATICRESOURCEMGMT_QEMU = true
|
||||
endif
|
||||
DEFSTATICRESOURCEMGMT_TEE = true
|
||||
DEFSTATICRESOURCEMGMT_NV = true
|
||||
|
||||
@@ -791,6 +795,7 @@ USER_VARS += DEFENTROPYSOURCE
|
||||
USER_VARS += DEFVALIDENTROPYSOURCES
|
||||
USER_VARS += DEFSANDBOXCGROUPONLY
|
||||
USER_VARS += DEFSTATICRESOURCEMGMT
|
||||
USER_VARS += DEFSTATICRESOURCEMGMT_QEMU
|
||||
USER_VARS += DEFSTATICRESOURCEMGMT_CLH
|
||||
USER_VARS += DEFSTATICRESOURCEMGMT_FC
|
||||
USER_VARS += DEFSTATICRESOURCEMGMT_STRATOVIRT
|
||||
|
||||
@@ -672,7 +672,7 @@ sandbox_cgroup_only = @DEFSANDBOXCGROUPONLY@
|
||||
# - When running with pods, sandbox sizing information will only be available if using Kubernetes >= 1.23 and containerd >= 1.6. CRI-O
|
||||
# does not yet support sandbox sizing annotations.
|
||||
# - When running single containers using a tool like ctr, container sizing information will be available.
|
||||
static_sandbox_resource_mgmt = @DEFSTATICRESOURCEMGMT@
|
||||
static_sandbox_resource_mgmt = @DEFSTATICRESOURCEMGMT_QEMU@
|
||||
|
||||
# If specified, sandbox_bind_mounts identifieds host paths to be mounted (ro) into the sandboxes shared path.
|
||||
# This is only valid if filesystem sharing is utilized. The provided path(s) will be bindmounted into the shared fs directory.
|
||||
|
||||
Reference in New Issue
Block a user