Module Name: src Committed By: thorpej Date: Sun Dec 3 19:34:08 UTC 2023
Modified Files: src/sys/kern: subr_vmem.c src/sys/sys: vmem.h vmem_impl.h Log Message: Add the notion of "private boundary tags" to vmem. This allows vmem to be used VERY early in boot; such consumers statically allocate the vmem arena and boundary tags, and then explicitly add those static, private boundary tags to the arena tag free list using the new function vmem_add_bts(). Vmem arenas that use private boundary tags will NOT consume the statically allocated bootstrap tags used by the vmem system itself; the assumption is that the consumer of such an arena knows what they're doing, and is responsible for all necessary resource management. A macro, VMEM_EST_BTCOUNT(), is provided to help such consumers size the static boundary tag store based on the expected number of spans and early allocations. Once the private tags are exhausted, the arena will dynamically allocate tags as usual. To generate a diff of this commit: cvs rdiff -u -r1.114 -r1.115 src/sys/kern/subr_vmem.c cvs rdiff -u -r1.24 -r1.25 src/sys/sys/vmem.h cvs rdiff -u -r1.7 -r1.8 src/sys/sys/vmem_impl.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.