summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2023-10-06 12:21:19 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-09 15:50:43 +0100
commit369e768d87b80be9efe76937bfafeddabc35f559 (patch)
tree9665601ef36fd89dcb70593b042ba920926281fc
parentdae2757bf0fea6ae821a28bd6ea9d0232694c177 (diff)
downloadopenembedded-core-369e768d87b80be9efe76937bfafeddabc35f559.tar.gz
qemuboot: reduce default size of software I/O translation buffer
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> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-recipe/qemuboot.bbclass7
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/classes-recipe/qemuboot.bbclass b/meta/classes-recipe/qemuboot.bbclass
index e30b380c3d..5c4bbd6737 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"