)]}'
{
  "commit": "b29c6ef7bb1257853c1e31616d84f55e561cf631",
  "tree": "dd055a870644df922f4274fdd093b37240268f4f",
  "parents": [
    "99306dfc067e6098365d395168b6fd5db3095292"
  ],
  "author": {
    "name": "Rafael J. Wysocki",
    "email": "rafael.j.wysocki@intel.com",
    "time": "Mon Nov 13 02:15:39 2017 +0100"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Nov 13 19:42:39 2017 -0800"
  },
  "message": "x86 / CPU: Avoid unnecessary IPIs in arch_freq_get_on_cpu()\n\nEven though aperfmperf_snapshot_khz() caches the samples.khz value to\nreturn if called again in a sufficiently short time, its caller,\narch_freq_get_on_cpu(), still uses smp_call_function_single() to run it\nwhich may allow user space to trigger an IPI storm by reading from the\nscaling_cur_freq cpufreq sysfs file in a tight loop.\n\nTo avoid that, move the decision on whether or not to return the cached\nsamples.khz value to arch_freq_get_on_cpu().\n\nThis change was part of commit 941f5f0f6ef5 (\"x86: CPU: Fix up \"cpu MHz\"\nin /proc/cpuinfo\"), but it was not the reason for the revert and it\nremains applicable.\n\nFixes: 4815d3c56d1e (cpufreq: x86: Make scaling_cur_freq behave more as expected)\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nReviewed-by: WANG Chao \u003cchao.wang@ucloud.cn\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0ee83321a3136fcca7a00a3b7e6c375e7a51e13f",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/cpu/aperfmperf.c",
      "new_id": "957813e0180d278563bf33289c54c7462ca83a8a",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/cpu/aperfmperf.c"
    }
  ]
}
