Merge tag 'v3.16-rc1' into i2c/for-next
[pandora-kernel.git] / mm / vmstat.c
index 302dd07..b37bd49 100644 (file)
@@ -207,7 +207,9 @@ void set_pgdat_percpu_threshold(pg_data_t *pgdat,
 }
 
 /*
- * For use when we know that interrupts are disabled.
+ * For use when we know that interrupts are disabled,
+ * or when we know that preemption is disabled and that
+ * particular counter cannot be updated from interrupt context.
  */
 void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item,
                                int delta)
@@ -489,7 +491,7 @@ static void refresh_cpu_vm_stats(void)
                        continue;
 
                if (__this_cpu_read(p->pcp.count))
-                       drain_zone_pages(zone, __this_cpu_ptr(&p->pcp));
+                       drain_zone_pages(zone, this_cpu_ptr(&p->pcp));
 #endif
        }
        fold_diff(global_diff);
@@ -866,6 +868,10 @@ const char * const vmstat_text[] = {
        "nr_tlb_local_flush_one",
 #endif /* CONFIG_DEBUG_TLBFLUSH */
 
+#ifdef CONFIG_DEBUG_VM_VMACACHE
+       "vmacache_find_calls",
+       "vmacache_find_hits",
+#endif
 #endif /* CONFIG_VM_EVENTS_COUNTERS */
 };
 #endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA */
@@ -1226,7 +1232,7 @@ int sysctl_stat_interval __read_mostly = HZ;
 static void vmstat_update(struct work_struct *w)
 {
        refresh_cpu_vm_stats();
-       schedule_delayed_work(&__get_cpu_var(vmstat_work),
+       schedule_delayed_work(this_cpu_ptr(&vmstat_work),
                round_jiffies_relative(sysctl_stat_interval));
 }