]> git.baikalelectronics.ru Git - kernel.git/commit
x86/cpu: Disable frequency requests via aperfmperf IPI for nohz_full CPUs
authorKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Wed, 15 May 2019 06:59:00 +0000 (09:59 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 22 Jun 2019 15:23:48 +0000 (17:23 +0200)
commitb5b0432d36c7f97ef9d4c3a902f61c89bfe6da32
treea0eeb33387c7257283ffce64b6184278bb2e1125
parentf933089abf97ec25622a297179b4f3e2e16f49f1
x86/cpu: Disable frequency requests via aperfmperf IPI for nohz_full CPUs

Since commit 29425c82a526 ("x86 / CPU: Always show current CPU frequency
in /proc/cpuinfo") open and read of /proc/cpuinfo sends IPI to all CPUs.
Many applications read /proc/cpuinfo at the start for trivial reasons like
counting cores or detecting cpu features. While sensitive workloads like
DPDK network polling don't like any interrupts.

Integrates this feature with cpu isolation and do not send IPIs to CPUs
without housekeeping flag HK_FLAG_MISC (set by nohz_full).

Code that requests cpu frequency like show_cpuinfo() falls back to the last
frequency set by the cpufreq driver if this method returns 0.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Len Brown <len.brown@intel.com>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Link: https://lkml.kernel.org/r/155790354043.1104.15333317408370209.stgit@buzz
arch/x86/kernel/cpu/aperfmperf.c