memory_hotplug: cond_resched in __remove_pages
[linux-2.6-block.git] / mm / vmstat.c
index 7878da76abf2d21992b322ba2a3e65386a215467..6038ce593ce3e1ca4cce34a02bc0bbd4c1d3a296 100644 (file)
@@ -1143,8 +1143,10 @@ const char * const vmstat_text[] = {
        "nr_slab_unreclaimable",
        "nr_isolated_anon",
        "nr_isolated_file",
+       "workingset_nodes",
        "workingset_refault",
        "workingset_activate",
+       "workingset_restore",
        "workingset_nodereclaim",
        "nr_anon_pages",
        "nr_mapped",
@@ -1161,7 +1163,7 @@ const char * const vmstat_text[] = {
        "nr_vmscan_immediate_reclaim",
        "nr_dirtied",
        "nr_written",
-       "", /* nr_indirectly_reclaimable */
+       "nr_kernel_misc_reclaimable",
 
        /* enum writeback_stat_item counters */
        "nr_dirty_threshold",
@@ -1663,6 +1665,8 @@ static void *vmstat_start(struct seq_file *m, loff_t *pos)
        stat_items_size += sizeof(struct vm_event_state);
 #endif
 
+       BUILD_BUG_ON(stat_items_size !=
+                    ARRAY_SIZE(vmstat_text) * sizeof(unsigned long));
        v = kmalloc(stat_items_size, GFP_KERNEL);
        m->private = v;
        if (!v)
@@ -1706,10 +1710,6 @@ static int vmstat_show(struct seq_file *m, void *arg)
        unsigned long *l = arg;
        unsigned long off = l - (unsigned long *)m->private;
 
-       /* Skip hidden vmstat items. */
-       if (*vmstat_text[off] == '\0')
-               return 0;
-
        seq_puts(m, vmstat_text[off]);
        seq_put_decimal_ull(m, " ", *l);
        seq_putc(m, '\n');