|
@@ -2904,9 +2904,13 @@ EXPORT_SYMBOL(si_meminfo);
|
|
|
#ifdef CONFIG_NUMA
|
|
|
void si_meminfo_node(struct sysinfo *val, int nid)
|
|
|
{
|
|
|
+ int zone_type; /* needs to be signed */
|
|
|
+ unsigned long managed_pages = 0;
|
|
|
pg_data_t *pgdat = NODE_DATA(nid);
|
|
|
|
|
|
- val->totalram = pgdat->node_present_pages;
|
|
|
+ for (zone_type = 0; zone_type < MAX_NR_ZONES; zone_type++)
|
|
|
+ managed_pages += pgdat->node_zones[zone_type].managed_pages;
|
|
|
+ val->totalram = managed_pages;
|
|
|
val->freeram = node_page_state(nid, NR_FREE_PAGES);
|
|
|
#ifdef CONFIG_HIGHMEM
|
|
|
val->totalhigh = pgdat->node_zones[ZONE_HIGHMEM].managed_pages;
|