mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Page allocator: get rid of the list of cold pages
We have repeatedly discussed if the cold pages still have a point. There is one way to join the two lists: Use a single list and put the cold pages at the end and the hot pages at the beginning. That way a single list can serve for both types of allocations. The discussion of the RFC for this and Mel's measurements indicate that there may not be too much of a point left to having separate lists for hot and cold pages (see http://marc.info/?t=119492914200001&r=1&w=2). Signed-off-by: Christoph Lameter <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Martin Bligh <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
5dc3318528
commit
3dfa5721f1
3 changed files with 40 additions and 49 deletions
30
mm/vmstat.c
30
mm/vmstat.c
|
|
@ -337,7 +337,7 @@ void refresh_cpu_vm_stats(int cpu)
|
|||
* Check if there are pages remaining in this pageset
|
||||
* if not then there is nothing to expire.
|
||||
*/
|
||||
if (!p->expire || (!p->pcp[0].count && !p->pcp[1].count))
|
||||
if (!p->expire || !p->pcp.count)
|
||||
continue;
|
||||
|
||||
/*
|
||||
|
|
@ -352,11 +352,8 @@ void refresh_cpu_vm_stats(int cpu)
|
|||
if (p->expire)
|
||||
continue;
|
||||
|
||||
if (p->pcp[0].count)
|
||||
drain_zone_pages(zone, p->pcp + 0);
|
||||
|
||||
if (p->pcp[1].count)
|
||||
drain_zone_pages(zone, p->pcp + 1);
|
||||
if (p->pcp.count)
|
||||
drain_zone_pages(zone, &p->pcp);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -693,20 +690,17 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
|
|||
"\n pagesets");
|
||||
for_each_online_cpu(i) {
|
||||
struct per_cpu_pageset *pageset;
|
||||
int j;
|
||||
|
||||
pageset = zone_pcp(zone, i);
|
||||
for (j = 0; j < ARRAY_SIZE(pageset->pcp); j++) {
|
||||
seq_printf(m,
|
||||
"\n cpu: %i pcp: %i"
|
||||
"\n count: %i"
|
||||
"\n high: %i"
|
||||
"\n batch: %i",
|
||||
i, j,
|
||||
pageset->pcp[j].count,
|
||||
pageset->pcp[j].high,
|
||||
pageset->pcp[j].batch);
|
||||
}
|
||||
seq_printf(m,
|
||||
"\n cpu: %i"
|
||||
"\n count: %i"
|
||||
"\n high: %i"
|
||||
"\n batch: %i",
|
||||
i,
|
||||
pageset->pcp.count,
|
||||
pageset->pcp.high,
|
||||
pageset->pcp.batch);
|
||||
#ifdef CONFIG_SMP
|
||||
seq_printf(m, "\n vm stats threshold: %d",
|
||||
pageset->stat_threshold);
|
||||
|
|
|
|||
Loading…
Reference in a new issue