HomeFreeBSD

Reduce kmem_arena maximum size for Armada38x

Description

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

Details

Provenance
zbbAuthored on
Differential Revision
D10216: Reduce kmem_arena maximum size
Parents
rS317083: MFC r316715:
Branches
Unknown
Tags
Unknown