]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blobdiff - mm/memcontrol.c
mm, memcg: partially revert "mm/memcontrol.c: keep local VM counters in sync with...
[mirror_ubuntu-eoan-kernel.git] / mm / memcontrol.c
index 1f585d6c77c138d45cda49ec112595e1244d4f52..a247cb1632453cbaae8b7f977d20a1faff0eee55 100644 (file)
@@ -752,15 +752,13 @@ void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
        /* Update memcg */
        __mod_memcg_state(memcg, idx, val);
 
+       /* Update lruvec */
+       __this_cpu_add(pn->lruvec_stat_local->count[idx], val);
+
        x = val + __this_cpu_read(pn->lruvec_stat_cpu->count[idx]);
        if (unlikely(abs(x) > MEMCG_CHARGE_BATCH)) {
                struct mem_cgroup_per_node *pi;
 
-               /*
-                * Batch local counters to keep them in sync with
-                * the hierarchical ones.
-                */
-               __this_cpu_add(pn->lruvec_stat_local->count[idx], x);
                for (pi = pn; pi; pi = parent_nodeinfo(pi, pgdat->node_id))
                        atomic_long_add(x, &pi->lruvec_stat[idx]);
                x = 0;