)]}'
{
  "commit": "ab45ffc98534050c7466201b1393198fa6fe2820",
  "tree": "ca966be929fec6bb6655c90550226942e99c6e58",
  "parents": [
    "efd5265b7822fcf515e11c16816b086dc3d3e3a6"
  ],
  "author": {
    "name": "Joel Fernandes",
    "email": "joelagnelf@nvidia.com",
    "time": "Sun Dec 21 04:43:48 2025 -0500"
  },
  "committer": {
    "name": "Joel Fernandes",
    "email": "joelagnelf@nvidia.com",
    "time": "Sun Dec 21 04:43:48 2025 -0500"
  },
  "message": "rcu: Fix synchronize_rcu latency by removing CPU threshold for wake_from_gp\n\nRemove the magic number WAKE_FROM_GP_CPU_THRESHOLD (16) and always enable\nthe rcu_normal_wake_from_gp optimization. This provides consistent low\nlatency for synchronize_rcu() regardless of system size.\n\nThe optimization enables direct wakeup of synchronize_rcu() waiters from\nthe GP kthread instead of waiting for softirq callback processing. With\nthe optimization disabled (default on systems with \u003e16 CPUs), the FQS\nloop waits multiple iterations (jiffies_till_first_fqs\u003d3 each), leading\nto ~9.5ms latency. With the optimization enabled, only a single FQS\niteration is needed, reducing latency to ~4ms (58% improvement).\n\nPerformance measurements on a 36-CPU system:\n\n  Without optimization (default, \u003e16 CPUs):\n    - synchronize_rcu() latency: ~9.5ms\n    - FQS iterations: 2\n    - Wakeup path: softirq callback chain\n\n  With optimization enabled:\n    - synchronize_rcu() latency: ~4ms (58% faster)\n    - FQS iterations: 1\n    - Wakeup path: direct from GP kthread\n\nFor workloads involving synchronize_rcu() in teardown paths, such as\nnetwork bridge deletion (~100ms total), this reduces overall latency by\napproximately 5%.\n\nThe rcutree.rcu_normal_wake_from_gp module parameter remains available\nto disable the optimization if needed (set to 0).\n\nSigned-off-by: Joel Fernandes (Google) \u003cjoel@joelfernandes.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8293bae1dec169013b917a04a88fef1c7554daa9",
      "old_mode": 33188,
      "old_path": "kernel/rcu/tree.c",
      "new_id": "7ba5abba05d140cf3ce7dce720ef2d396ed29cd0",
      "new_mode": 33188,
      "new_path": "kernel/rcu/tree.c"
    }
  ]
}
