From a4857688c395f6baf93f20e44cec6d1ed6745d0b Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 6 Oct 2023 12:21:19 +0100 Subject: 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. (From OE-Core rev: 369e768d87b80be9efe76937bfafeddabc35f559) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes-recipe/qemuboot.bbclass | 7 +++++++ 1 file changed, 7 insertions(+) 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" -- cgit v1.2.3-54-g00ecf