[PATCH 1/4] [mm] buddy page allocator: add tunable big order allocation

From: Bryan Wu
Date: Mon May 12 2008 - 06:32:34 EST


From: Michael Hennerich <michael.hennerich@xxxxxxxxxx>

Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxxx>
---
init/Kconfig | 9 +++++++++
mm/page_alloc.c | 2 +-
2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index 6135d07..b6ff75b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -742,6 +742,15 @@ config SLUB_DEBUG
SLUB sysfs support. /sys/slab will not exist and there will be
no support for cache validation etc.

+config BIG_ORDER_ALLOC_NOFAIL_MAGIC
+ int "Big Order Allocation No FAIL Magic"
+ depends on EMBEDDED
+ range 3 10
+ default 3
+ help
+ Let big-order allocations loop until memory gets free. Specified Value
+ expresses the order.
+
choice
prompt "Choose SLAB allocator"
default SLUB
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index bdd5c43..71b09b4 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1631,7 +1631,7 @@ nofail_alloc:
pages_reclaimed += did_some_progress;
do_retry = 0;
if (!(gfp_mask & __GFP_NORETRY)) {
- if (order <= PAGE_ALLOC_COSTLY_ORDER) {
+ if (order <= CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC) {
do_retry = 1;
} else {
if (gfp_mask & __GFP_REPEAT &&
--
1.5.5

--
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/