Subject: Re: Speeding up fork/wait path
To: Jason Thorpe <>
From: Paul Kranenburg <>
List: tech-kern
Date: 11/04/2003 10:46:20
> > This used to be supported (when the pool's page size was a parameter
> > of pool_init()). I don't know why it has been removed.
> It doesn't work with the direct-mapped-segment hacks used to map pool 
> pages into kernel addresses on platforms that can support that.  At the 
> time those pool page mapping hacks were added, nothing was using "pool 
> page size" != PAGE_SIZE.

I know of at least one third-party development in which this feature was
used. Anyway, upon closer inspection, I see you can still do this by
passing your own initialised pool allocator to pool_init().

We might just consider providing a default pool page allocator for such
usage, e.g. pool_allocator_kmem_large_page, and associated uvm_km_alloc*()
routines that take care of proper alignment,etc..