From: Matthew Dobson <colpatch@us.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: sri@us.ibm.com, andrea@suse.de, pavel@suse.cz, linux-mm@kvack.org
Subject: [patch 1/9] mempool - Add page allocator
Date: Wed, 25 Jan 2006 11:39:55 -0800 [thread overview]
Message-ID: <1138217995.2092.1.camel@localhost.localdomain> (raw)
In-Reply-To: 20060125161321.647368000@localhost.localdomain
plain text document attachment (critical_mempools)
Add another allocator to the common mempool code: a simple page allocator
This will be used by the next patch in the series to replace duplicate
mempool-backed page allocators in 2 places in the kernel. It is also very
likely that there will be more users in the future.
Signed-off-by: Matthew Dobson <colpatch@us.ibm.com>
include/linux/mempool.h | 6 ++++++
mm/mempool.c | 17 +++++++++++++++++
2 files changed, 23 insertions(+)
Index: linux-2.6.16-rc1+critical_mempools/mm/mempool.c
===================================================================
--- linux-2.6.16-rc1+critical_mempools.orig/mm/mempool.c
+++ linux-2.6.16-rc1+critical_mempools/mm/mempool.c
@@ -289,3 +289,20 @@ void mempool_free_slab(void *element, vo
kmem_cache_free(mem, element);
}
EXPORT_SYMBOL(mempool_free_slab);
+
+/*
+ * A simple mempool-backed page allocator
+ */
+void *mempool_alloc_pages(gfp_t gfp_mask, void *pool_data)
+{
+ int order = (int)pool_data;
+ return alloc_pages(gfp_mask, order);
+}
+EXPORT_SYMBOL(mempool_alloc_pages);
+
+void mempool_free_pages(void *element, void *pool_data)
+{
+ int order = (int)pool_data;
+ __free_pages(element, order);
+}
+EXPORT_SYMBOL(mempool_free_pages);
Index: linux-2.6.16-rc1+critical_mempools/include/linux/mempool.h
===================================================================
--- linux-2.6.16-rc1+critical_mempools.orig/include/linux/mempool.h
+++ linux-2.6.16-rc1+critical_mempools/include/linux/mempool.h
@@ -38,4 +38,10 @@ extern void mempool_free(void *element,
void *mempool_alloc_slab(gfp_t gfp_mask, void *pool_data);
void mempool_free_slab(void *element, void *pool_data);
+/*
+ * A mempool_alloc_t and mempool_free_t for a simple page allocator
+ */
+void *mempool_alloc_pages(gfp_t gfp_mask, void *pool_data);
+void mempool_free_pages(void *element, void *pool_data);
+
#endif /* _LINUX_MEMPOOL_H */
--
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next parent reply other threads:[~2006-01-29 7:41 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20060125161321.647368000@localhost.localdomain>
2006-01-25 19:39 ` Matthew Dobson [this message]
2006-01-25 19:39 ` [patch 2/9] mempool - Use common mempool page allocator Matthew Dobson
2006-01-25 19:39 ` Matthew Dobson
2006-01-25 19:40 ` [patch 4/9] mempool - Update mempool page allocator user Matthew Dobson
2006-01-25 19:40 ` [patch 5/9] mempool - Update kmalloc mempool users Matthew Dobson
2006-01-25 19:40 ` Matthew Dobson
2006-01-25 19:40 ` [patch 6/9] mempool - Update kzalloc " Matthew Dobson
2006-01-25 19:40 ` Matthew Dobson
2006-01-26 7:30 ` Pekka Enberg
2006-01-26 7:30 ` Pekka Enberg
2006-01-26 22:03 ` Matthew Dobson
2006-01-26 22:03 ` Matthew Dobson
2006-01-25 19:40 ` [patch 8/9] slab - Add *_mempool slab variants Matthew Dobson
2006-01-25 19:40 ` Matthew Dobson
2006-01-26 7:41 ` Pekka Enberg
2006-01-26 7:41 ` Pekka Enberg
2006-01-26 22:40 ` Matthew Dobson
2006-01-26 22:40 ` Matthew Dobson
2006-01-27 7:09 ` Pekka J Enberg
2006-01-27 7:09 ` Pekka J Enberg
2006-01-27 7:10 ` Pekka J Enberg
2006-01-27 7:10 ` Pekka J Enberg
2006-01-25 19:40 ` [patch 9/9] slab - Implement single mempool backing for slab allocator Matthew Dobson
2006-01-25 19:40 ` Matthew Dobson
2006-01-26 8:11 ` Pekka Enberg
2006-01-26 8:11 ` Pekka Enberg
2006-01-26 22:48 ` Matthew Dobson
2006-01-26 22:48 ` Matthew Dobson
2006-01-27 7:22 ` Pekka J Enberg
2006-01-27 7:22 ` Pekka J Enberg
2006-01-25 23:51 ` [patch 1/9] mempool - Add page allocator Matthew Dobson
2006-01-25 23:51 ` Matthew Dobson
2006-01-25 23:51 ` [patch 3/9] mempool - Make mempools NUMA aware Matthew Dobson
2006-01-25 23:51 ` Matthew Dobson
2006-01-26 17:54 ` Christoph Lameter
2006-01-26 17:54 ` Christoph Lameter
2006-01-26 22:57 ` Matthew Dobson
2006-01-26 22:57 ` Matthew Dobson
2006-01-26 23:15 ` Christoph Lameter
2006-01-26 23:15 ` Christoph Lameter
2006-01-26 23:24 ` Matthew Dobson
2006-01-26 23:24 ` Matthew Dobson
2006-01-26 23:29 ` Christoph Lameter
2006-01-26 23:29 ` Christoph Lameter
2006-01-27 0:15 ` Matthew Dobson
2006-01-27 0:15 ` Matthew Dobson
2006-01-27 0:21 ` Christoph Lameter
2006-01-27 0:21 ` Christoph Lameter
2006-01-27 0:34 ` Matthew Dobson
2006-01-27 0:34 ` Matthew Dobson
2006-01-27 0:39 ` Christoph Lameter
2006-01-27 0:39 ` Christoph Lameter
2006-01-27 0:44 ` Matthew Dobson
2006-01-27 0:44 ` Matthew Dobson
2006-01-27 0:57 ` Christoph Lameter
2006-01-27 0:57 ` Christoph Lameter
2006-01-27 1:07 ` Andi Kleen
2006-01-27 1:07 ` Andi Kleen
2006-01-27 10:51 ` Paul Jackson
2006-01-27 10:51 ` Paul Jackson
2006-01-28 1:00 ` Matthew Dobson
2006-01-28 1:00 ` Matthew Dobson
2006-01-28 5:08 ` Paul Jackson
2006-01-28 5:08 ` Paul Jackson
2006-01-28 8:16 ` Pavel Machek
2006-01-28 8:16 ` Pavel Machek
2006-01-28 16:14 ` Sridhar Samudrala
2006-01-28 16:14 ` Sridhar Samudrala
2006-01-28 16:41 ` Pavel Machek
2006-01-28 16:41 ` Pavel Machek
2006-01-28 16:53 ` Sridhar Samudrala
2006-01-28 16:53 ` Sridhar Samudrala
2006-01-28 22:59 ` Pavel Machek
2006-01-28 22:59 ` Pavel Machek
2006-01-28 23:10 ` Let the flames begin... [was Re: [patch 3/9] mempool - Make mempools NUMA aware] Pavel Machek
2006-01-28 23:10 ` Pavel Machek
2006-01-27 0:23 ` [patch 3/9] mempool - Make mempools NUMA aware Benjamin LaHaise
2006-01-27 0:23 ` Benjamin LaHaise
2006-01-27 0:35 ` Matthew Dobson
2006-01-27 0:35 ` Matthew Dobson
2006-01-27 3:23 ` Benjamin LaHaise
2006-01-27 3:23 ` Benjamin LaHaise
2006-01-28 1:08 ` Matthew Dobson
2006-01-28 1:08 ` Matthew Dobson
2006-01-25 23:51 ` [patch 7/9] mempool - Update other mempool users Matthew Dobson
2006-01-25 23:51 ` Matthew Dobson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1138217995.2092.1.camel@localhost.localdomain \
--to=colpatch@us.ibm.com \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pavel@suse.cz \
--cc=sri@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.