HomeFreeBSD

uma: delay bucket_init() until we might actually enable buckets

Description

uma: delay bucket_init() until we might actually enable buckets

This helps with a bootstrapping problem in upcoming work.

We don't first enable buckets until uma_startup2(), so we can delay
bucket creation until then. The other two paths to bucket_enable() are
both later, one in the pageout daemon (SI_SUB_KTHREAD_PAGE vs SI_SUB_VM)
and one in uma_timeout() (first activated in uma_startup3()). Note that
although some bucket functions are accessible before uma_startup2()
(e.g. bucket_select() in zone_ctor()), none of them inspect ubz_zone.

Discussed with: jeff
Reviewed by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D22765

Details

Provenance
rlibbyAuthored on
Reviewer
markj
Differential Revision
D22765: uma: delay bucket_init() until we might actually enable buckets
Parents
rS355706: uma dbg: flexible size for slab debug bitset too
Branches
Unknown
Tags
Unknown