)]}'
{
  "commit": "50ca0d9c82926dc508c51b2f75fe55cc952922c8",
  "tree": "0a389ae36cb8a6629fd5ee9877ef4e9605b617cd",
  "parents": [
    "241f56e8be06b4645e0792bb1845c80e046e8a10"
  ],
  "author": {
    "name": "He Gao",
    "email": "hegao@google.com",
    "time": "Sat Dec 13 00:08:06 2025 +0000"
  },
  "committer": {
    "name": "Cloud Image Release",
    "email": "cloud-image-release@prod.google.com",
    "time": "Mon Dec 15 11:34:48 2025 -0800"
  },
  "message": "bcache: reduce gc latency by processing less nodes and sleep less time\n\n[upstream commit: 70bc173ce06be90b026bb00ea175567c91f006e4]\n\nWhen bcache device is busy for high I/O loads, there are two methods to\nreduce the garbage collection latency,\n- Process less nodes in eac loop of incremental garbage collection in\n  btree_gc_recurse().\n- Sleep less time between two full garbage collection in\n  bch_btree_gc().\n\nThis patch introduces to hleper routines to provide different garbage\ncollection nodes number and sleep intervel time.\n- btree_gc_min_nodes()\n  If there is no front end I/O, return 128 nodes to process in each\n  incremental loop, otherwise only 10 nodes are returned. Then front I/O\n  is able to access the btree earlier.\n- btree_gc_sleep_ms()\n  If there is no synchronized wait for bucket allocation, sleep 100 ms\n  between two incremental GC loop. Othersize only sleep 10 ms before\n  incremental GC loop. Then a faster GC may provide available buckets\n  earlier, to avoid most of bcache working threads from being starved by\n  buckets allocation.\n\nThe idea is inspired by works from Mingzhe Zou and Robert Pang, but much\nsimpler and the expected behavior is more predictable.\n\nBUG\u003db/466158659\nTEST\u003dpresubmit\nRELEASE_NOTE\u003dBackported upstream commit to reduce bcache gc latency.\n\ncos-patch: bug\nChange-Id: I8e5a73e1e2bdb8d6bfb6077a59a6f8b72a9722cb\nSigned-off-by: Coly Li \u003ccolyli@fnnas.com\u003e\nSigned-off-by: Robert Pang \u003crobertpang@google.com\u003e\nSigned-off-by: Mingzhe Zou \u003cmingzhe.zou@easystack.cn\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/121941\nTested-by: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\nMain-Branch-Verified: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/122026\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "624723f9b35fc0bcc8e166491e69a5114d97e294",
      "old_mode": 33188,
      "old_path": "drivers/md/bcache/alloc.c",
      "new_id": "fd65431abab602589d188a541424bc6c046f8324",
      "new_mode": 33188,
      "new_path": "drivers/md/bcache/alloc.c"
    },
    {
      "type": "modify",
      "old_id": "570eff9fc2952fd42376c5851a5d68c464de94c6",
      "old_mode": 33188,
      "old_path": "drivers/md/bcache/bcache.h",
      "new_id": "90bbace98c4841ceb955de15e47f715bd9cf3464",
      "new_mode": 33188,
      "new_path": "drivers/md/bcache/bcache.h"
    },
    {
      "type": "modify",
      "old_id": "5da5e7bfc478f38febf27ba19c820ce5fdff339a",
      "old_mode": 33188,
      "old_path": "drivers/md/bcache/btree.c",
      "new_id": "7e7cb5d65daf766e3766d14348159acfb9e46bdb",
      "new_mode": 33188,
      "new_path": "drivers/md/bcache/btree.c"
    }
  ]
}
