aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Piggin <nickpiggin@yahoo.com.au>2006-01-06 03:10:59 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:25 -0500
commit2d92c5c9150a2a9ca3dc25da58d5042e17a96b6a (patch)
tree7a559b29019f2391095f958d9546a4453839ec43
parent13e7444b0ec59f96d81a4e8c379d5f38fc5f2cc1 (diff)
[PATCH] mm: remove pcp low
struct per_cpu_pages.low is useless. Remove it. Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/linux/mmzone.h1
-rw-r--r--mm/page_alloc.c9
2 files changed, 2 insertions, 8 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 8cba76c6a28c..0d1a5981bb94 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -46,7 +46,6 @@ struct zone_padding {
46 46
47struct per_cpu_pages { 47struct per_cpu_pages {
48 int count; /* number of pages in the list */ 48 int count; /* number of pages in the list */
49 int low; /* low watermark, refill needed */
50 int high; /* high watermark, emptying needed */ 49 int high; /* high watermark, emptying needed */
51 int batch; /* chunk size for buddy add/remove */ 50 int batch; /* chunk size for buddy add/remove */
52 struct list_head list; /* the list of pages */ 51 struct list_head list; /* the list of pages */
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 088712f2ac02..7cff958e7813 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -740,7 +740,7 @@ again:
740 page = NULL; 740 page = NULL;
741 pcp = &zone_pcp(zone, get_cpu())->pcp[cold]; 741 pcp = &zone_pcp(zone, get_cpu())->pcp[cold];
742 local_irq_save(flags); 742 local_irq_save(flags);
743 if (pcp->count <= pcp->low) 743 if (!pcp->count)
744 pcp->count += rmqueue_bulk(zone, 0, 744 pcp->count += rmqueue_bulk(zone, 0,
745 pcp->batch, &pcp->list); 745 pcp->batch, &pcp->list);
746 if (likely(pcp->count)) { 746 if (likely(pcp->count)) {
@@ -1345,10 +1345,9 @@ void show_free_areas(void)
1345 pageset = zone_pcp(zone, cpu); 1345 pageset = zone_pcp(zone, cpu);
1346 1346
1347 for (temperature = 0; temperature < 2; temperature++) 1347 for (temperature = 0; temperature < 2; temperature++)
1348 printk("cpu %d %s: low %d, high %d, batch %d used:%d\n", 1348 printk("cpu %d %s: high %d, batch %d used:%d\n",
1349 cpu, 1349 cpu,
1350 temperature ? "cold" : "hot", 1350 temperature ? "cold" : "hot",
1351 pageset->pcp[temperature].low,
1352 pageset->pcp[temperature].high, 1351 pageset->pcp[temperature].high,
1353 pageset->pcp[temperature].batch, 1352 pageset->pcp[temperature].batch,
1354 pageset->pcp[temperature].count); 1353 pageset->pcp[temperature].count);
@@ -1790,14 +1789,12 @@ inline void setup_pageset(struct per_cpu_pageset *p, unsigned long batch)
1790 1789
1791 pcp = &p->pcp[0]; /* hot */ 1790 pcp = &p->pcp[0]; /* hot */
1792 pcp->count = 0; 1791 pcp->count = 0;
1793 pcp->low = 0;
1794 pcp->high = 6 * batch; 1792 pcp->high = 6 * batch;
1795 pcp->batch = max(1UL, 1 * batch); 1793 pcp->batch = max(1UL, 1 * batch);
1796 INIT_LIST_HEAD(&pcp->list); 1794 INIT_LIST_HEAD(&pcp->list);
1797 1795
1798 pcp = &p->pcp[1]; /* cold*/ 1796 pcp = &p->pcp[1]; /* cold*/
1799 pcp->count = 0; 1797 pcp->count = 0;
1800 pcp->low = 0;
1801 pcp->high = 2 * batch; 1798 pcp->high = 2 * batch;
1802 pcp->batch = max(1UL, batch/2); 1799 pcp->batch = max(1UL, batch/2);
1803 INIT_LIST_HEAD(&pcp->list); 1800 INIT_LIST_HEAD(&pcp->list);
@@ -2193,12 +2190,10 @@ static int zoneinfo_show(struct seq_file *m, void *arg)
2193 seq_printf(m, 2190 seq_printf(m,
2194 "\n cpu: %i pcp: %i" 2191 "\n cpu: %i pcp: %i"
2195 "\n count: %i" 2192 "\n count: %i"
2196 "\n low: %i"
2197 "\n high: %i" 2193 "\n high: %i"
2198 "\n batch: %i", 2194 "\n batch: %i",
2199 i, j, 2195 i, j,
2200 pageset->pcp[j].count, 2196 pageset->pcp[j].count,
2201 pageset->pcp[j].low,
2202 pageset->pcp[j].high, 2197 pageset->pcp[j].high,
2203 pageset->pcp[j].batch); 2198 pageset->pcp[j].batch);
2204 } 2199 }