summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2016-04-22 18:19:17 +0100
committerRalf Baechle <ralf@linux-mips.org>2016-05-13 15:30:25 +0200
commit1fa405552e33f2169d173cdb7ca0c03e094904f6 (patch)
treea67871d91fff562e7074b96d95a0c827408093a5 /block
parent24e1df664fd3c025664ae0b64a4aec691507959a (diff)
downloadop-kernel-dev-1fa405552e33f2169d173cdb7ca0c03e094904f6.zip
op-kernel-dev-1fa405552e33f2169d173cdb7ca0c03e094904f6.tar.gz
MIPS: cevt-r4k: Dynamically calculate min_delta_ns
Calculate the MIPS clockevent device's min_delta_ns dynamically based on the time it takes to perform the mips_next_event() sequence. Virtualisation in particular makes the current fixed min_delta of 0x300 inappropriate under some circumstances, as the CP0_Count and CP0_Compare registers may be being emulated by the hypervisor, and the frequency may not correspond directly to the CPU frequency. We actually use twice the median of multiple 75th percentiles of multiple measurements of how long the mips_next_event() sequence takes, in order to fairly efficiently eliminate outliers due to unexpected hypervisor latency (which would need handling with retries when it occurs during normal operation anyway). Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/13176/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud