)]}'
{
  "commit": "d50166bfe6f60c075a4573151ab8844ba99dc8ac",
  "tree": "912128f55010b43e83a364846094a2383ca761b6",
  "parents": [
    "e2e7500f58fe41bd83bea2b415fdfe9e206620e7"
  ],
  "author": {
    "name": "Joel Fernandes",
    "email": "joelagnelf@nvidia.com",
    "time": "Tue Dec 23 09:07:06 2025 -0500"
  },
  "committer": {
    "name": "Joel Fernandes",
    "email": "joelagnelf@nvidia.com",
    "time": "Tue Dec 23 09:07:06 2025 -0500"
  },
  "message": "rcu: Report quiescent state at IRQ exit to reduce GP latency\n\nWhen a CPU exits from an IRQ/NMI that interrupted an RCU-idle period,\nproactively report a quiescent state before transitioning back to\nRCU-idle. This allows grace periods to complete faster by not waiting\nfor the next FQS scan to detect the dyntick counter change.\n\nPreviously, when a CPU was in dyntick-idle state and received an\ninterrupt, the grace period machinery had to wait for an FQS scan to\nnotice the CPU\u0027s dyntick counter had changed. By calling rcu_qs() at\nIRQ exit (via the new rcu_nmi_exit_qs() wrapper), the CPU can\nimmediately report its quiescent state if one is needed.\n\nThe rcu_qs() function has an internal early-return check that avoids\nany work if no quiescent state is needed, making this addition\nlightweight for the common case.\n\nBenchmark results on 32-CPU VM show:\n- Mean latency: unchanged (~6.04ms)\n- Tail latency (max): reduced ~14% (11.1ms -\u003e 9.6ms average)\n\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f519cd6802286710bdd56588b5ff3d07bcd30b92",
      "old_mode": 33188,
      "old_path": "include/linux/rcutiny.h",
      "new_id": "033236e7a003308b01a1b91d1639f013174235a8",
      "new_mode": 33188,
      "new_path": "include/linux/rcutiny.h"
    },
    {
      "type": "modify",
      "old_id": "9d2d7bd251d4f6f2f71c880564d81fb2713b824e",
      "old_mode": 33188,
      "old_path": "include/linux/rcutree.h",
      "new_id": "9d7309d58ff59d1431418add7fccb05b4a33e53c",
      "new_mode": 33188,
      "new_path": "include/linux/rcutree.h"
    },
    {
      "type": "modify",
      "old_id": "fb5be6e9b423f2141d106b9fa06234789c9496e6",
      "old_mode": 33188,
      "old_path": "kernel/context_tracking.c",
      "new_id": "58a3a7c8529f251d09921d56e4fbc0453c1b7df2",
      "new_mode": 33188,
      "new_path": "kernel/context_tracking.c"
    },
    {
      "type": "modify",
      "old_id": "3b309be3d73faa38a0d03f0a368f63228d89d14c",
      "old_mode": 33188,
      "old_path": "kernel/rcu/tree.c",
      "new_id": "b1f73f4889cdc522ff965ff485f84b1e1c275ad6",
      "new_mode": 33188,
      "new_path": "kernel/rcu/tree.c"
    }
  ]
}
