CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2016/11/20 18:44:06

Modified files:
        sys/kern       : subr_pool.c 
        sys/sys        : pool.h 

Log message:
let pool page allocators advertise what sizes they can provide.

to keep things concise i let the multi page allocators provide
multiple sizes of pages, but this feature was implicit inside
pool_init and only usable if the caller of pool_init did not specify
a page allocator.

callers of pool_init can now suplly a page allocator that provides
multiple page sizes. pool_init will try to fit 8 items onto a page
still, but will scale its page size down until it fits into what
the allocator provides.

supported page sizes are specified as a bit field in the pa_pagesz
member of a pool_allocator. setting the low bit in that word indicates
that the pages can be aligned to their size.

Reply via email to