Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Linux/lib/show_mem.c

  1 /*
  2  * Generic show_mem() implementation
  3  *
  4  * Copyright (C) 2008 Johannes Weiner <hannes@saeurebad.de>
  5  * All code subject to the GPL version 2.
  6  */
  7 
  8 #include <linux/mm.h>
  9 #include <linux/quicklist.h>
 10 #include <linux/cma.h>
 11 
 12 void show_mem(unsigned int filter)
 13 {
 14         pg_data_t *pgdat;
 15         unsigned long total = 0, reserved = 0, highmem = 0;
 16 
 17         printk("Mem-Info:\n");
 18         show_free_areas(filter);
 19 
 20         for_each_online_pgdat(pgdat) {
 21                 unsigned long flags;
 22                 int zoneid;
 23 
 24                 pgdat_resize_lock(pgdat, &flags);
 25                 for (zoneid = 0; zoneid < MAX_NR_ZONES; zoneid++) {
 26                         struct zone *zone = &pgdat->node_zones[zoneid];
 27                         if (!populated_zone(zone))
 28                                 continue;
 29 
 30                         total += zone->present_pages;
 31                         reserved += zone->present_pages - zone->managed_pages;
 32 
 33                         if (is_highmem_idx(zoneid))
 34                                 highmem += zone->present_pages;
 35                 }
 36                 pgdat_resize_unlock(pgdat, &flags);
 37         }
 38 
 39         printk("%lu pages RAM\n", total);
 40         printk("%lu pages HighMem/MovableOnly\n", highmem);
 41         printk("%lu pages reserved\n", reserved);
 42 #ifdef CONFIG_CMA
 43         printk("%lu pages cma reserved\n", totalcma_pages);
 44 #endif
 45 #ifdef CONFIG_QUICKLIST
 46         printk("%lu pages in pagetable cache\n",
 47                 quicklist_total_size());
 48 #endif
 49 #ifdef CONFIG_MEMORY_FAILURE
 50         printk("%lu pages hwpoisoned\n", atomic_long_read(&num_poisoned_pages));
 51 #endif
 52 }
 53 

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us