HomeFreeBSD

Use a single VM object for kernel stacks.

Description

Use a single VM object for kernel stacks.

Previously we allocated a separate VM object for each kernel stack.
However, fully constructed kernel stacks are cached by UMA, so there is
no harm in using a single global object for all stacks. This reduces
memory consumption and makes it easier to define a memory allocation
policy for kernel stack pages, with the aim of reducing physical memory
fragmentation.

Add a global kstack_object, and use the stack KVA address to index into
the object like we do with kernel_object.

Reviewed by: kib
Tested by: pho
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24473

Details

Provenance
markjAuthored on
Reviewer
kib
Differential Revision
D24473: Use a single kernel stack object.
Parents
rS360353: psm(4): Fix wrong key-release event occuring after trackpoint use.
Branches
Unknown
Tags
Unknown