diff options
author | zbb <zbb@FreeBSD.org> | 2017-04-18 10:20:42 +0000 |
---|---|---|
committer | Luiz Souza <luiz@netgate.com> | 2017-09-06 11:53:40 -0500 |
commit | af596a01eb61851c4d0aa3ffbbc0099be3e92d12 (patch) | |
tree | a96a7a3fc43b13895c0441fddc99b5779a27950f /sys/arm/conf | |
parent | 727f2980d3be320d7cdfbb7d219faaab3e9a4851 (diff) | |
download | FreeBSD-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/ARMADA38X | 2 |
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 |