From: Ross Burton Date: Fri, 6 Oct 2023 11:21:19 +0000 (+0100) Subject: qemuboot: reduce default size of software I/O translation buffer X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=369e768d87b80be9efe76937bfafeddabc35f559;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 Signed-off-by: Richard Purdie --- 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"