mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
mm/highmem: make nr_free_highpages() handles all highmem zones by itself
nr_free_highpages() manually adds statistics per each highmem zone and returns a total value for them. Whenever we add a new highmem zone, we need to consider this function and it's really troublesome. Make it handle all highmem zones by itself. Signed-off-by: Joonsoo Kim <[email protected]> Reviewed-by: Aneesh Kumar K.V <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Laura Abbott <[email protected]> Cc: Minchan Kim <[email protected]> Cc: Marek Szyprowski <[email protected]> Cc: Michal Nazarewicz <[email protected]> Cc: Vlastimil Babka <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
fc2bd799c7
commit
33499bfe50
1 changed files with 4 additions and 8 deletions
12
mm/highmem.c
12
mm/highmem.c
|
|
@ -112,16 +112,12 @@ EXPORT_PER_CPU_SYMBOL(__kmap_atomic_idx);
|
|||
|
||||
unsigned int nr_free_highpages (void)
|
||||
{
|
||||
pg_data_t *pgdat;
|
||||
struct zone *zone;
|
||||
unsigned int pages = 0;
|
||||
|
||||
for_each_online_pgdat(pgdat) {
|
||||
pages += zone_page_state(&pgdat->node_zones[ZONE_HIGHMEM],
|
||||
NR_FREE_PAGES);
|
||||
if (zone_movable_is_highmem())
|
||||
pages += zone_page_state(
|
||||
&pgdat->node_zones[ZONE_MOVABLE],
|
||||
NR_FREE_PAGES);
|
||||
for_each_populated_zone(zone) {
|
||||
if (is_highmem(zone))
|
||||
pages += zone_page_state(zone, NR_FREE_PAGES);
|
||||
}
|
||||
|
||||
return pages;
|
||||
|
|
|
|||
Loading…
Reference in a new issue