diff options
author | Eric Dumazet <[email protected]> | 2018-03-23 14:58:17 -0700 |
---|---|---|
committer | Thomas Gleixner <[email protected]> | 2018-03-27 12:01:47 +0200 |
commit | 07cde313b2d21f728cec2836db7cdb55476f7a26 (patch) | |
tree | 88e450ffab9354ddc069700898fb9d7d21c192b3 /tools/perf/scripts/python/call-graph-from-sql.py | |
parent | 13cc36d76bc4f5a9801ae32630bc8240ba0cc522 (diff) |
x86/msr: Allow rdmsr_safe_on_cpu() to schedule
High latencies can be observed caused by a daemon periodically reading
various MSR on all cpus. On KASAN enabled kernels ~10ms latencies can be
observed simply reading one MSR. Even without KASAN, sending an IPI to a
CPU, which is in a deep sleep state or in a long hard IRQ disabled section,
waiting for the answer can consume hundreds of microseconds.
All usage sites are in preemptible context, convert rdmsr_safe_on_cpu() to
use a completion instead of busy polling.
Overall daemon cpu usage was reduced by 35 %, and latencies caused by
msr_read() disappeared.
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: Ingo Molnar <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Eric Dumazet <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-sql.py')
0 files changed, 0 insertions, 0 deletions