)]}'
{
  "commit": "40ace765a076622503c1a85e90e1edb71f5cd528",
  "tree": "f848b8732e76e4445012ec00102b7b29dcab3da2",
  "parents": [
    "090fd619c665e598f73c26f3bc726fe5a41bdd6e"
  ],
  "author": {
    "name": "Chia-hung Duan",
    "email": "chiahungduan@fuchsia.infra.roller.google.com",
    "time": "Tue Jun 20 21:36:00 2023 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jun 20 14:37:34 2023 -0700"
  },
  "message": "[roll] Roll scudo [scudo] Finer lock granularity in Region of SizeClassAllocator64\n\nIn this CL, we introduce two new locks, MMLock for MemMap operations and\nFLLock for freelist operations.\n\nMMLock will be used when we want to manipulate pages. For example,\nmapping more pages through populateFreeList() and releaseToOSMaybe().\n\nFLLock will be used when we want to access the freelist. For example,\npushBlocks() and popBatch().\n\nWith the new locks, they increase the parallelism of the operations\nmentioned above. For example, populateFreeList() won\u0027t block the\npushBlocks() when it\u0027s still doing the system call for more pages.\n\nWe also enforce lock hierarchy to avoid deadlock, MMLock is required to\nbe held before FLLock if you have to lock both of them. We don\u0027t store\nthe lock owner, therefore, we rely static thread-safey annotation to\ndetect any violation.\n\nDifferential Revision: https://reviews.llvm.org/D149140\n\nGitOrigin-RevId: 76274c1aba3d812d29f443ac11a0116c61c9e456\nOriginal-Revision: f85495c576f41a127c2175f1d95826681135a74d\nChange-Id: I621a9fc29b2b04380730ec69c9b64c2dbd2d660e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a486eeb079061fd412fc3c78d0aab8e99a0e6ceb",
      "old_mode": 33188,
      "old_path": "third_party/flower",
      "new_id": "0fa8ab5ade7af3b86ecf2009b99ddc2c4816aee4",
      "new_mode": 33188,
      "new_path": "third_party/flower"
    }
  ]
}
