disable virtio-balloon by default for VirtualMachineRawConfig
So that we don't need to add an LL-NDK API to disable it.
To reduce the impact of this change, I've kept the balloon enabled for
rialto and Trusty even though it is likely not needed.
Test: TH
Bug: 369588412
Change-Id: If22280957d735bd40e86b4d43869a4b70a233cd4
diff --git a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
index 3829f9f..6c4c599 100644
--- a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -798,7 +798,7 @@
Optional.ofNullable(customImageConfig.getAudioConfig())
.map(ac -> ac.toParcelable())
.orElse(null);
- config.noBalloon = !customImageConfig.useAutoMemoryBalloon();
+ config.balloon = customImageConfig.useAutoMemoryBalloon();
config.usbConfig =
Optional.ofNullable(customImageConfig.getUsbConfig())
.map(
diff --git a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
index 93f29a9..1708caa 100644
--- a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
+++ b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
@@ -486,7 +486,6 @@
private boolean network;
private GpuConfig gpuConfig;
private boolean trackpad;
- // TODO(b/363985291): balloon breaks Linux VM behavior
private boolean autoMemoryBalloon = false;
private UsbConfig usbConfig;
diff --git a/libs/libavf/src/lib.rs b/libs/libavf/src/lib.rs
index 1d7861f..b1edf29 100644
--- a/libs/libavf/src/lib.rs
+++ b/libs/libavf/src/lib.rs
@@ -217,7 +217,7 @@
// SAFETY: `config` is assumed to be a valid, non-null pointer returned by
// AVirtualMachineRawConfig_create. It's the only reference to the object.
let config = unsafe { &mut *config };
- config.noBalloon = !balloon;
+ config.balloon = balloon;
}
/// NOT IMPLEMENTED.
diff --git a/libs/libservice_vm_manager/src/lib.rs b/libs/libservice_vm_manager/src/lib.rs
index 0f322bb..5bb97d7 100644
--- a/libs/libservice_vm_manager/src/lib.rs
+++ b/libs/libservice_vm_manager/src/lib.rs
@@ -238,7 +238,8 @@
memoryMib: VM_MEMORY_MB,
cpuTopology: CpuTopology::ONE_CPU,
platformVersion: "~1.0".to_string(),
- gdbPort: 0, // No gdb
+ gdbPort: 0, // No gdb
+ balloon: true, // TODO: probably don't want ballooning.
..Default::default()
});
let console_out = Some(android_log_fd()?);
diff --git a/libs/vmconfig/src/lib.rs b/libs/vmconfig/src/lib.rs
index ef932c2..e520f0e 100644
--- a/libs/vmconfig/src/lib.rs
+++ b/libs/vmconfig/src/lib.rs
@@ -133,6 +133,7 @@
.collect::<Result<_>>()?,
consoleInputDevice: self.console_input_device.clone(),
usbConfig: usb_config,
+ balloon: true,
..Default::default()
})
}