mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
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:
parent
4bf4f155bf
commit
13215e8a4b
@ -10,26 +10,19 @@
|
|||||||
|
|
||||||
void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
|
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;
|
unsigned long total = 0, reserved = 0, highmem = 0;
|
||||||
|
struct zone *zone;
|
||||||
|
|
||||||
printk("Mem-Info:\n");
|
printk("Mem-Info:\n");
|
||||||
__show_free_areas(filter, nodemask, max_zone_idx);
|
__show_free_areas(filter, nodemask, max_zone_idx);
|
||||||
|
|
||||||
for_each_online_pgdat(pgdat) {
|
for_each_populated_zone(zone) {
|
||||||
int zoneid;
|
|
||||||
|
|
||||||
for (zoneid = 0; zoneid < MAX_NR_ZONES; zoneid++) {
|
total += zone->present_pages;
|
||||||
struct zone *zone = &pgdat->node_zones[zoneid];
|
reserved += zone->present_pages - zone_managed_pages(zone);
|
||||||
if (!populated_zone(zone))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
total += zone->present_pages;
|
if (is_highmem(zone))
|
||||||
reserved += zone->present_pages - zone_managed_pages(zone);
|
highmem += zone->present_pages;
|
||||||
|
|
||||||
if (is_highmem_idx(zoneid))
|
|
||||||
highmem += zone->present_pages;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
printk("%lu pages RAM\n", total);
|
printk("%lu pages RAM\n", total);
|
||||||
|
Loading…
Reference in New Issue
Block a user