Merge branch 'stable-3.2' into pandora-3.2
[pandora-kernel.git] / mm / vmstat.c
index 8fd603b..901e631 100644 (file)
@@ -613,6 +613,9 @@ static char * const migratetype_names[MIGRATE_TYPES] = {
        "Reclaimable",
        "Movable",
        "Reserve",
+#ifdef CONFIG_CMA
+       "CMA",
+#endif
        "Isolate",
 };
 
@@ -1139,13 +1142,14 @@ static const struct file_operations proc_vmstat_file_operations = {
 #endif /* CONFIG_PROC_FS */
 
 #ifdef CONFIG_SMP
+static struct workqueue_struct *vmstat_wq;
 static DEFINE_PER_CPU(struct delayed_work, vmstat_work);
 int sysctl_stat_interval __read_mostly = HZ;
 
 static void vmstat_update(struct work_struct *w)
 {
        refresh_cpu_vm_stats(smp_processor_id());
-       schedule_delayed_work(&__get_cpu_var(vmstat_work),
+       queue_delayed_work(vmstat_wq, &__get_cpu_var(vmstat_work),
                round_jiffies_relative(sysctl_stat_interval));
 }
 
@@ -1154,7 +1158,7 @@ static void __cpuinit start_cpu_timer(int cpu)
        struct delayed_work *work = &per_cpu(vmstat_work, cpu);
 
        INIT_DELAYED_WORK_DEFERRABLE(work, vmstat_update);
-       schedule_delayed_work_on(cpu, work, __round_jiffies_relative(HZ, cpu));
+       queue_delayed_work_on(cpu, vmstat_wq, work, __round_jiffies_relative(HZ, cpu));
 }
 
 /*
@@ -1202,6 +1206,8 @@ static int __init setup_vmstat(void)
 #ifdef CONFIG_SMP
        int cpu;
 
+       vmstat_wq = alloc_workqueue("vmstat", WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);
+
        register_cpu_notifier(&vmstat_notifier);
 
        for_each_online_cpu(cpu)