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)
Wed, Apr 17, 6:44 PM
Unknown Object (File)
Feb 29 2024, 3:18 AM
Unknown Object (File)
Dec 20 2023, 6:48 AM
Unknown Object (File)
Jun 19 2023, 7:04 AM
Unknown Object (File)
May 17 2023, 2:05 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