diff mbox series

qemuboot: reduce default size of software I/O translation buffer

Message ID 20231006112119.1081596-1-ross.burton@arm.com
State Accepted, archived
Commit 369e768d87b80be9efe76937bfafeddabc35f559
Headers show
Series qemuboot: reduce default size of software I/O translation buffer | expand

Commit Message

Ross Burton Oct. 6, 2023, 11:21 a.m. UTC
From: Ross Burton <ross.burton@arm.com>

With 6.5+ (specifically, if DMA_BOUNCE_UNALIGNED_KMALLOC is set) the
SWIOTLB is used, and it defaults to 64MB. This is too much when there's
only 256MB of RAM, so request 0 slabs and lets the kernel round up to
the appropriate minimum (1MB on aarch64, typically). In virtual hardware
there's very little need for these bounce buffers, so the 64MB would be
mostly wasted.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/qemuboot.bbclass | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/meta/classes-recipe/qemuboot.bbclass b/meta/classes-recipe/qemuboot.bbclass
index e30b380c3dc..5c4bbd67371 100644
--- a/meta/classes-recipe/qemuboot.bbclass
+++ b/meta/classes-recipe/qemuboot.bbclass
@@ -107,6 +107,13 @@  QB_ROOTFS_EXTRA_OPT ?= ""
 QB_GRAPHICS ?= ""
 QB_NFSROOTFS_EXTRA_OPT ?= ""
 
+# With 6.5+ (specifically, if DMA_BOUNCE_UNALIGNED_KMALLOC is set) the SW IO TLB
+# is used, and it defaults to 64MB. This is too much when there's only 256MB of
+# RAM, so request 0 slabs and lets the kernel round up to the appropriate minimum
+# (1MB, typically). In virtual hardware there's very little need for these bounce
+# buffers, so the 64MB would be mostly wasted.
+QB_KERNEL_CMDLINE_APPEND:append = " swiotlb=0"
+
 # This should be kept align with ROOT_VM
 QB_DRIVE_TYPE ?= "/dev/sd"