Subject: Re: Speeding up fork/wait path
To: Jason Thorpe <email@example.com>
From: Paul Kranenburg <firstname.lastname@example.org>
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..