summaryrefslogtreecommitdiffstats
path: root/sys/arm/conf
diff options
context:
space:
mode:
authorzbb <zbb@FreeBSD.org>2017-04-18 10:20:42 +0000
committerLuiz Souza <luiz@netgate.com>2017-09-06 11:53:40 -0500
commitaf596a01eb61851c4d0aa3ffbbc0099be3e92d12 (patch)
treea96a7a3fc43b13895c0441fddc99b5779a27950f /sys/arm/conf
parent727f2980d3be320d7cdfbb7d219faaab3e9a4851 (diff)
downloadFreeBSD-src-af596a01eb61851c4d0aa3ffbbc0099be3e92d12.zip
FreeBSD-src-af596a01eb61851c4d0aa3ffbbc0099be3e92d12.tar.gz
Reduce kmem_arena maximum size for Armada38x
VM_KMEM_SIZE_MAX allows to limit kmem arena size. In our case this was necessary, as decreasing size of kmem_arena leaves more space for kernel_arena. kernel_arena is pool used for contigmalloc (in effect, DMA) allocations, which failed on Armada38x. This resulted in 'no memory errors' (e.g. USB_ERR_NOMEM errors) and failure of whole system. The need for greater size of kernel_arena probably comes from more peripherals making use of busdma. Value used as upper limit is half of the default value (0x1399a000). Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D10216 (cherry picked from commit 1de67b38984892e529ea435824d8f179ccd1cca3)
Diffstat (limited to 'sys/arm/conf')
-rw-r--r--sys/arm/conf/ARMADA38X2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/arm/conf/ARMADA38X b/sys/arm/conf/ARMADA38X
index aac3004..21b6484 100644
--- a/sys/arm/conf/ARMADA38X
+++ b/sys/arm/conf/ARMADA38X
@@ -21,6 +21,8 @@ options ROOTDEVNAME=\"/dev/da0s1a\"
options SCHED_ULE # ULE scheduler
options SMP
+options VM_KMEM_SIZE_MAX=0x9CCD000
+
# Pseudo devices
device random
device pty
OpenPOWER on IntegriCloud