summaryrefslogtreecommitdiff
path: root/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch')
-rw-r--r--target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch45
1 files changed, 0 insertions, 45 deletions
diff --git a/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch b/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch
deleted file mode 100644
index ce1fb71..0000000
--- a/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From a4eb204a8029320c2dd748daf4f51fd48d337c3d Mon Sep 17 00:00:00 2001
-From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= <arve@android.com>
-Date: Wed, 18 Mar 2009 17:27:31 -0700
-Subject: [PATCH 056/134] mm: Check if any page in a pageblock is reserved before marking it MIGRATE_RESERVE
-
-This fixes a problem where the first pageblock got marked MIGRATE_RESERVE even
-though it only had a few free pages. This in turn caused no contiguous memory
-to be reserved and frequent kswapd wakeups that emptied the caches to get more
-contiguous memory.
----
- mm/page_alloc.c | 16 +++++++++++++++-
- 1 files changed, 15 insertions(+), 1 deletions(-)
-
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -2570,6 +2570,20 @@ static inline unsigned long wait_table_b
- #define LONG_ALIGN(x) (((x)+(sizeof(long))-1)&~((sizeof(long))-1))
-
- /*
-+ * Check if a pageblock contains reserved pages
-+ */
-+static int pageblock_is_reserved(unsigned long start_pfn)
-+{
-+ unsigned long end_pfn = start_pfn + pageblock_nr_pages;
-+ unsigned long pfn;
-+
-+ for (pfn = start_pfn; pfn < end_pfn; pfn++)
-+ if (PageReserved(pfn_to_page(pfn)))
-+ return 1;
-+ return 0;
-+}
-+
-+/*
- * Mark a number of pageblocks as MIGRATE_RESERVE. The number
- * of blocks reserved is based on zone->pages_min. The memory within the
- * reserve will tend to store contiguous free pages. Setting min_free_kbytes
-@@ -2598,7 +2612,7 @@ static void setup_zone_migrate_reserve(s
- continue;
-
- /* Blocks with reserved pages will never free, skip them. */
-- if (PageReserved(page))
-+ if (pageblock_is_reserved(pfn))
- continue;
-
- block_migratetype = get_pageblock_migratetype(page);