--
In the course of working on some patches to implement subsystem-wide critical
pools through the existing mempool API, I created the following patches which
create 3 new common mempool allocators (mempool_alloc_pages, mempool_kmalloc &
mempool_kzalloc) and freers. The following 6 patches add these new common
allocators and convert existing mempool users to use these common allocators,
where possible. Optionally, the last 2 patches in this series add and use a
wrapper for the common case of creating a slab-based mempool.
After the application of these patches there are only 4 places where
'non-common' allocators are used (drivers/md/raid1.c & raid10.c, mm/highmem.c
and drivers/scsi/scsi_transport_iscsi.c), and all of these are non-trivial
allocators. The sum of these patches is a reduction of 90 lines of kernel
code and the removal of many nearly identical mempool allocators.
New since Take 1:
* Added 4 mempool_create() wrappers to avoid both gratuitous casting
and gratuitous cast warnings.
* Update to 2.6.16-rc1-mm4
Thanks!
-Matt
On Mon, 30 Jan 2006, Matthew Dobson wrote:
> In the course of working on some patches to implement subsystem-wide critical
> pools through the existing mempool API, I created the following patches which
> create 3 new common mempool allocators (mempool_alloc_pages, mempool_kmalloc &
> mempool_kzalloc) and freers. The following 6 patches add these new common
> allocators and convert existing mempool users to use these common allocators,
> where possible. Optionally, the last 2 patches in this series add and use a
> wrapper for the common case of creating a slab-based mempool.
Looks good to me.
Acked-by: Pekka Enberg <[email protected]>
Pekka