mirror of https://github.com/armbian/build.git
BananaPi BPI-F3: Sort and delete unrelated `RISCV` patch
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
This commit is contained in:
parent
09fe0008f1
commit
57f47eb658
|
@ -1,56 +0,0 @@
|
||||||
From 7648741002eeb851ceb394864253445b77ea3d25 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Catalin Marinas <catalin.marinas@arm.com>
|
|
||||||
Date: Wed, 10 Apr 2024 08:25:37 -0400
|
|
||||||
Subject: [PATCH] arm64: swiotlb: Reduce the default size if no ZONE_DMA
|
|
||||||
bouncing needed
|
|
||||||
|
|
||||||
With CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC enabled, the arm64 kernel still
|
|
||||||
allocates the default SWIOTLB buffer (64MB) even if ZONE_DMA is disabled
|
|
||||||
or all the RAM fits into this zone. However, this potentially wastes a
|
|
||||||
non-negligible amount of memory on platforms with little RAM.
|
|
||||||
|
|
||||||
Reduce the SWIOTLB size to 1MB per 1GB of RAM if only needed for
|
|
||||||
kmalloc() buffer bouncing.
|
|
||||||
|
|
||||||
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
||||||
Suggested-by: Ross Burton <ross.burton@arm.com>
|
|
||||||
Cc: Ross Burton <ross.burton@arm.com>
|
|
||||||
Cc: Will Deacon <will@kernel.org>
|
|
||||||
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
|
|
||||||
---
|
|
||||||
arch/arm64/mm/init.c | 11 ++++++++++-
|
|
||||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
|
|
||||||
index 8a0f8604348b..8deec68028ac 100644
|
|
||||||
--- a/arch/arm64/mm/init.c
|
|
||||||
+++ b/arch/arm64/mm/init.c
|
|
||||||
@@ -16,6 +16,7 @@
|
|
||||||
#include <linux/nodemask.h>
|
|
||||||
#include <linux/initrd.h>
|
|
||||||
#include <linux/gfp.h>
|
|
||||||
+#include <linux/math.h>
|
|
||||||
#include <linux/memblock.h>
|
|
||||||
#include <linux/sort.h>
|
|
||||||
#include <linux/of.h>
|
|
||||||
@@ -493,8 +494,16 @@ void __init mem_init(void)
|
|
||||||
{
|
|
||||||
bool swiotlb = max_pfn > PFN_DOWN(arm64_dma_phys_limit);
|
|
||||||
|
|
||||||
- if (IS_ENABLED(CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC))
|
|
||||||
+ if (IS_ENABLED(CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC) && !swiotlb) {
|
|
||||||
+ /*
|
|
||||||
+ * If no bouncing needed for ZONE_DMA, reduce the swiotlb
|
|
||||||
+ * buffer for kmalloc() bouncing to 1MB per 1GB of RAM.
|
|
||||||
+ */
|
|
||||||
+ unsigned long size =
|
|
||||||
+ DIV_ROUND_UP(memblock_phys_mem_size(), 1024);
|
|
||||||
+ swiotlb_adjust_size(min(swiotlb_size_or_default(), size));
|
|
||||||
swiotlb = true;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
swiotlb_init(swiotlb, SWIOTLB_VERBOSE);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
Loading…
Reference in New Issue