|
@@ -112,16 +112,12 @@ EXPORT_PER_CPU_SYMBOL(__kmap_atomic_idx);
|
|
|
|
|
|
unsigned int nr_free_highpages (void)
|
|
unsigned int nr_free_highpages (void)
|
|
{
|
|
{
|
|
- pg_data_t *pgdat;
|
|
|
|
|
|
+ struct zone *zone;
|
|
unsigned int pages = 0;
|
|
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;
|
|
return pages;
|