)]}'
{
  "commit": "1d97d462b78e4ca7ae17c905cd5173f57c1e2170",
  "tree": "8da2a08b95bebb354baba3246122fe8a9d83f4dc",
  "parents": [
    "51289896149317e0b6a4abf5d300a569c3353dca"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@kernel.org",
    "time": "Sat Apr 25 10:50:57 2026 -0700"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@kernel.org",
    "time": "Sat Apr 25 10:50:57 2026 -0700"
  },
  "message": "rcutorture: Check for immediate deboosting at reader end\n\nThis commit adds a check for failure to have fully deboosted a\nmulti-segmented RCU reader at the end of the full read-side critical\nsection.  This check only happens for fully task-level readers, because a\nreader in a handler might have interrupted an already-boosted task-level\nRCU reader, which would result in false positives.\n\nAlthough most uses of RCU priority boosting serve as debugging aids,\nthis might change, and in fact might already have changed.  And allowing\n(for example) RCU priority boosting to persist until the next scheduler\ntick could cause an aggressively real-time system to miss sub-millisecond\ndeadlines.  So we do need to find this sort of problem during testing,\nand preferably not in the field.\n\nThe name and type of the rcu_torture_ops function pointer may need to\nchange should other end-of-reader checks be needed.  But let\u0027s start\nsimple.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa6d30ce73d1fd0a715b26523039c0a8cb5614d1",
      "old_mode": 33188,
      "old_path": "kernel/rcu/rcu.h",
      "new_id": "14faa11ef23cd04e73580af0268675ee2e59c564",
      "new_mode": 33188,
      "new_path": "kernel/rcu/rcu.h"
    },
    {
      "type": "modify",
      "old_id": "3c8e4cd5b83e60439ba9fa9494d1a4541e7cbbbb",
      "old_mode": 33188,
      "old_path": "kernel/rcu/rcutorture.c",
      "new_id": "bb5ab8650865142f07a54dd6e5c199abceb79ea0",
      "new_mode": 33188,
      "new_path": "kernel/rcu/rcutorture.c"
    },
    {
      "type": "modify",
      "old_id": "95ad967adcf3cb0cbbe29289756f0e77bbb999c1",
      "old_mode": 33188,
      "old_path": "kernel/rcu/tree_plugin.h",
      "new_id": "c5dbdf8d7990cb877c5e6cb12b30ca5144ead31e",
      "new_mode": 33188,
      "new_path": "kernel/rcu/tree_plugin.h"
    }
  ]
}
