[patch 0/9] Critical Mempools
From: Matthew Dobson
Date: Wed Jan 25 2006 - 14:46:50 EST
--
The following is a new patch series designed to solve the same problems as the
"Critical Page Pool" patches that were sent out in December. I've tried to
incorporate as much of the feedback that I received as possible into this new,
redesigned version.
Rather than inserting hooks directly into the page allocator, I've tried to
piggyback on the existing mempools infrastructure. What I've done is created
a new "common" mempool allocator for whole pages. I've also made some changes
to the mempool code to add more NUMA awareness. Lastly, I've made some
changes to the slab allocator to allow a single mempool to act as the critical
pool for an entire subsystem. All of these changes should be completely
transparent to existing users of mempools and the slab allocator.
Using this new approach, a subsystem can create a mempool and then pass a
pointer to this mempool on to all its slab allocations. Anytime one of its
slab allocations needs to allocate memory that memory will be allocated
through the specified mempool, rather than through alloc_pages_node() directly.
Feedback on these patches (against 2.6.16-rc1) would be greatly appreciated.
Thanks!
-Matt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/