lib/show_mem.c: use for_each_populated_zone() simplify code
__show_mem() needs to iterate over all zones that have memory, we can simplify the code by using for_each_populated_zone(). Link: https://lkml.kernel.org/r/20230417035226.4013584-1-yajun.deng@linux.dev Signed-off-by: Yajun Deng <yajun.deng@linux.dev> Acked-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
4bf4f155bf
Коммит
13215e8a4b
|
@ -10,26 +10,19 @@
|
|||
|
||||
void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
|
||||
{
|
||||
pg_data_t *pgdat;
|
||||
unsigned long total = 0, reserved = 0, highmem = 0;
|
||||
struct zone *zone;
|
||||
|
||||
printk("Mem-Info:\n");
|
||||
__show_free_areas(filter, nodemask, max_zone_idx);
|
||||
|
||||
for_each_online_pgdat(pgdat) {
|
||||
int zoneid;
|
||||
for_each_populated_zone(zone) {
|
||||
|
||||
for (zoneid = 0; zoneid < MAX_NR_ZONES; zoneid++) {
|
||||
struct zone *zone = &pgdat->node_zones[zoneid];
|
||||
if (!populated_zone(zone))
|
||||
continue;
|
||||
total += zone->present_pages;
|
||||
reserved += zone->present_pages - zone_managed_pages(zone);
|
||||
|
||||
total += zone->present_pages;
|
||||
reserved += zone->present_pages - zone_managed_pages(zone);
|
||||
|
||||
if (is_highmem_idx(zoneid))
|
||||
highmem += zone->present_pages;
|
||||
}
|
||||
if (is_highmem(zone))
|
||||
highmem += zone->present_pages;
|
||||
}
|
||||
|
||||
printk("%lu pages RAM\n", total);
|
||||
|
|
Загрузка…
Ссылка в новой задаче