)]}'
{
  "commit": "df3d0d8eab2e52ef53c9c95e45275904397cb19a",
  "tree": "8eba714127aa6876a78daae42440510743896363",
  "parents": [
    "51dd6e01525bfb381e65fbaea86365846eb77c03"
  ],
  "author": {
    "name": "Luis Chamberlain",
    "email": "mcgrof@kernel.org",
    "time": "Fri Mar 24 18:38:00 2023 -0700"
  },
  "committer": {
    "name": "Luis Chamberlain",
    "email": "mcgrof@kernel.org",
    "time": "Wed Apr 05 10:03:53 2023 -0700"
  },
  "message": "modules/kmod: replace implementation with a sempahore\n\nSimplfy the concurrency delimiter we user for kmod with the semaphore.\nI had used the kmod strategy to try to implement a similar concurrency\ndelimiter for the kernel_read*() calls from the finit_module() path\nso to reduce vmalloc() memory pressure. That effort didn\u0027t provid yet\nconclusive results, but one thing that did became clear is we can use\nthe suggested alternative solution with semaphores which Linus hinted\nat instead of using the atomic / wait strategy.\n\nI\u0027ve stress tested this with kmod test 0008:\n\ntime /data/linux-next/tools/testing/selftests/kmod/kmod.sh -t 0008\n\nAnd I get only a *slight* delay. That delay however is small, a few\nseconds for a full test loop run that runs 150 times, for about ~30-40\nseconds. The small delay is worth the simplfication IMHO.\n\nSigned-off-by: Luis Chamberlain \u003cmcgrof@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b717134ebe1700808ed56415eb7a8ed25da4ec6e",
      "old_mode": 33188,
      "old_path": "kernel/module/kmod.c",
      "new_id": "fd7c461387f879729f83836b5ac1eb2fd02d90f8",
      "new_mode": 33188,
      "new_path": "kernel/module/kmod.c"
    }
  ]
}
