summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-06 16:47:47 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-06 16:47:47 -0500
commita1bd99a1cc75a29ba3098ceef6a9ec76d8587d3d (patch)
tree42a3cb9d6ac16c6a3929322c9104df103f0d1fac
parent31500bd444f68f43f7b3fffa2e4288c9bd9775fd (diff)
downloadrt-patches-a1bd99a1cc75a29ba3098ceef6a9ec76d8587d3d.tar.gz
refresh page_alloc-augment-percpu-pages-support-for-newer-ke.patch
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--page_alloc-augment-percpu-pages-support-for-newer-ke.patch35
1 files changed, 16 insertions, 19 deletions
diff --git a/page_alloc-augment-percpu-pages-support-for-newer-ke.patch b/page_alloc-augment-percpu-pages-support-for-newer-ke.patch
index 7d8b881..fcf4696 100644
--- a/page_alloc-augment-percpu-pages-support-for-newer-ke.patch
+++ b/page_alloc-augment-percpu-pages-support-for-newer-ke.patch
@@ -1,4 +1,4 @@
-From 2b494fe0b8811f60e2ac80901235425b51237ac1 Mon Sep 17 00:00:00 2001
+From 99a47f1bc0c41e73a7bfdb16f5b627353af0dacc Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Sun, 23 Jan 2011 19:17:40 -0500
Subject: [PATCH] page_alloc: augment percpu pages support for newer kernels
@@ -45,7 +45,7 @@ break them out into separate explicit commits.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 75d0e57..bde9ea1 100644
+index 6de091b..609be51 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -170,7 +170,7 @@ static inline void __lock_cpu_pcp(unsigned long *flags, int cpu)
@@ -57,7 +57,7 @@ index 75d0e57..bde9ea1 100644
#else
local_irq_save(*flags);
#endif
-@@ -571,18 +571,48 @@ static inline int free_pages_check(struct page *page)
+@@ -572,18 +572,48 @@ static inline int free_pages_check(struct page *page)
* pinned" detection logic.
*/
static void free_pcppages_bulk(struct zone *zone, int count,
@@ -109,7 +109,7 @@ index 75d0e57..bde9ea1 100644
while (count) {
struct page *page;
struct list_head *list;
-@@ -598,22 +628,16 @@ static void free_pcppages_bulk(struct zone *zone, int count,
+@@ -599,22 +629,16 @@ static void free_pcppages_bulk(struct zone *zone, int count,
batch_free++;
if (++migratetype == MIGRATE_PCPTYPES)
migratetype = 0;
@@ -135,7 +135,7 @@ index 75d0e57..bde9ea1 100644
}
static void free_one_page(struct zone *zone, struct page *page, int order,
-@@ -1021,16 +1045,6 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
+@@ -1022,16 +1046,6 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
return i;
}
@@ -152,7 +152,7 @@ index 75d0e57..bde9ea1 100644
#ifdef CONFIG_NUMA
/*
* Called from the vmstat counter updater to drain pagesets of this
-@@ -1042,20 +1056,19 @@ isolate_pcp_pages(int count, struct list_head *src, struct list_head *dst)
+@@ -1043,20 +1057,19 @@ isolate_pcp_pages(int count, struct list_head *src, struct list_head *dst)
*/
void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
{
@@ -177,7 +177,7 @@ index 75d0e57..bde9ea1 100644
}
#endif
-@@ -1073,8 +1086,7 @@ static void drain_pages(unsigned int cpu)
+@@ -1074,8 +1087,7 @@ static void drain_pages(unsigned int cpu)
for_each_populated_zone(zone) {
struct per_cpu_pageset *pset;
@@ -187,7 +187,7 @@ index 75d0e57..bde9ea1 100644
int count;
__lock_cpu_pcp(&flags, cpu);
-@@ -1084,12 +1096,13 @@ static void drain_pages(unsigned int cpu)
+@@ -1086,12 +1098,13 @@ static void drain_pages(unsigned int cpu)
WARN_ON(1);
continue;
}
@@ -203,7 +203,7 @@ index 75d0e57..bde9ea1 100644
}
}
-@@ -1194,8 +1207,8 @@ static void free_hot_cold_page(struct page *page, int cold)
+@@ -1196,8 +1209,8 @@ static void free_hot_cold_page(struct page *page, int cold)
struct per_cpu_pageset *pset;
struct per_cpu_pages *pcp;
unsigned long flags;
@@ -214,7 +214,7 @@ index 75d0e57..bde9ea1 100644
kmemcheck_free_shadow(page, 0);
-@@ -1240,15 +1253,17 @@ static void free_hot_cold_page(struct page *page, int cold)
+@@ -1242,16 +1255,15 @@ static void free_hot_cold_page(struct page *page, int cold)
list_add(&page->lru, &pcp->lists[migratetype]);
pcp->count++;
if (pcp->count >= pcp->high) {
@@ -227,17 +227,14 @@ index 75d0e57..bde9ea1 100644
count = pcp->batch;
put_zone_pcp(zone, flags, this_cpu);
- free_pages_bulk(zone, count, &free_list, 0);
-- } else
--out: put_zone_pcp(zone, flags, this_cpu);
+ free_pcppages_bulk(zone, count, &dst);
-+ return;
-+ }
-+out:
-+ put_zone_pcp(zone, flags, this_cpu);
+ return;
+ }
+-
+ out:
+ put_zone_pcp(zone, flags, this_cpu);
}
-
- void free_hot_page(struct page *page)
-@@ -1305,11 +1320,10 @@ again:
+@@ -1310,11 +1322,10 @@ again:
pset = get_zone_pcp(zone, &flags, &this_cpu);
if (likely(order == 0)) {