)]}'
{
  "commit": "86bf003bc4f46df961f18920d6af487699dc98d3",
  "tree": "8face0af16beb8efa162e9db9307f28e563c9c01",
  "parents": [
    "bac02e9102b22acc5908a6d8a8f9e32d0a2fbf73"
  ],
  "author": {
    "name": "Shakeel Butt",
    "email": "shakeelb@google.com",
    "time": "Tue Dec 26 22:52:42 2023 +0000"
  },
  "committer": {
    "name": "Robert Kolchmeyer",
    "email": "rkolchmeyer@google.com",
    "time": "Thu Dec 28 21:58:01 2023 +0000"
  },
  "message": "memcg: rate limit rstat flush in reclaim\n\nmemcg maintains stats in rstat infra where the updates are very fast\nand per-cpu while the accurate stats read are slow due to the need of\nflushing the per-cpu (and hierarchical) stats. There is also a periodic\nasync stats flusher which every 2 seconds, flush the stats for the whole\nmemcg tree. This change basically converts the always synchronous flush\nin reclaim code path to flush only if the periodic flush is delayed.\n\nIn prepare_scan_count(), there are two heuristics which read memcg stats:\n(1) anon LRU deactivation and (2) File cache trimming. With the proposed\nchange, the kernel might read out of date stats (at most 2 seconds out of\ndate). We are not much concerned on these two heuristics getting a bit\noutdated stats as these are just heuristics and kernel does a lot of\nreclaim retries. For the long term, COS should move to MultigenLRU to\navoid such heuristics completely.\n\nBUG\u003db/246641795\nTEST\u003dpresubmit, b/246641795#comment69\nRELEASE_NOTE\u003dFixed a performance issue that was observed in Postgres databases.\n\ncos-patch: bug\nChange-Id: Icd50fe0ccce09553738b37cbacdbe94d66106357\nSigned-off-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/62843\nTested-by: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\nReviewed-by: Oleksandr Tymoshenko \u003covt@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3f090faa6377ff4390fd501d11348d8e528c1839",
      "old_mode": 33188,
      "old_path": "mm/vmscan.c",
      "new_id": "1384e7f8fe766b212d979a57d601080238c18431",
      "new_mode": 33188,
      "new_path": "mm/vmscan.c"
    }
  ]
}
