)]}'
{
  "commit": "133fad651b81a45db5976ffcde7a1b8cc83bbb95",
  "tree": "7cc76730898675208406ca58c00bae949ebf807b",
  "parents": [
    "1c8562e8a0792b107a9b939442316afe379cd82a"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Jan 10 12:24:12 2023 -1000"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Wed Apr 12 13:51:56 2023 -1000"
  },
  "message": "blk-iolatency: Make initialization lazy\n\nOther rq_qos policies such as wbt and iocost are lazy-initialized when they\nare configured for the first time for the device but iolatency is\ninitialized unconditionally from blkcg_init_disk() during gendisk init. Lazy\ninit is beneficial because rq_qos policies add runtime overhead when\ninitialized as every IO has to walk all registered rq_qos callbacks.\n\nThis patch switches iolatency to lazy initialization too so that it only\nregistered its rq_qos policy when it is first configured.\n\nNote that there is a known race condition between blkcg config file writes\nand del_gendisk() and this patch makes iolatency susceptible to it by\nexposing the init path to race against the deletion path. However, that\nproblem already exists in iocost and is being worked on.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Josef Bacik \u003cjosef@toxicpanda.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c154b08a7e9203126fd4f162942b2b02b00af91a",
      "old_mode": 33188,
      "old_path": "block/blk-cgroup.c",
      "new_id": "1c1ebeb51003025abc8ebbd02e2a23b4930265c7",
      "new_mode": 33188,
      "new_path": "block/blk-cgroup.c"
    },
    {
      "type": "modify",
      "old_id": "2560708b91093bb23432c5048820fe4c763c3269",
      "old_mode": 33188,
      "old_path": "block/blk-iolatency.c",
      "new_id": "fd5fec989e39069b2ed5f436e21284409bb5c6c6",
      "new_mode": 33188,
      "new_path": "block/blk-iolatency.c"
    },
    {
      "type": "modify",
      "old_id": "d65d96994a949ffe68c4231d948300da9f95eb08",
      "old_mode": 33188,
      "old_path": "block/blk.h",
      "new_id": "62fca868bc619155ccf656332bd9d6cd9246b3cc",
      "new_mode": 33188,
      "new_path": "block/blk.h"
    }
  ]
}
