Page MenuHomeFreeBSD

Reduce kmem_arena maximum size
ClosedPublic

Authored by mw_semihalf.com on Mar 31 2017, 2:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Sep 27, 12:34 PM
Unknown Object (File)
Aug 30 2025, 8:04 AM
Unknown Object (File)
Aug 8 2025, 11:46 AM
Unknown Object (File)
Jul 22 2025, 6:13 PM
Unknown Object (File)
Jul 14 2025, 8:12 AM
Unknown Object (File)
Jul 12 2025, 10:07 AM
Unknown Object (File)
Jul 6 2025, 6:10 AM
Unknown Object (File)
Jul 2 2025, 10:21 AM

Details

Summary

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
Reviewed by:
Differential revision:

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable