Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1230518 > unrolled thread
| Started by | Paul Burton <paul.burton@imgtec.com> |
|---|---|
| First post | 2015-09-22 19:20 +0200 |
| Last post | 2015-09-22 20:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] MIPS: allow 24Hz timer frequency Paul Burton <paul.burton@imgtec.com> - 2015-09-22 19:20 +0200
Re: [PATCH] MIPS: allow 24Hz timer frequency Ralf Baechle <ralf@linux-mips.org> - 2015-09-22 20:10 +0200
| From | Paul Burton <paul.burton@imgtec.com> |
|---|---|
| Date | 2015-09-22 19:20 +0200 |
| Subject | [PATCH] MIPS: allow 24Hz timer frequency |
| Message-ID | <qbzou-3mH-17@gated-at.bofh.it> |
A boundary exists beyond which the timer frequency becomes high enough that timer interrupts saturate the system and either cause it to slow to a crawl or stop functioning entirely. Where that boundary lies depends upon a number of factors such as the overhead of each interrupt and the overall speed of the CPU, but correlates strongly with the clock frequency at which the CPU runs. When running on emulators during bringup or debug of a CPU that clock frequency is very low, which results in the boundary at which the timer frequency becomes unsustainable being very low. The current minimum of 48Hz pushes against boundary in certain situations in current systems. Allow the kernel to be configured for a 24Hz timer frequency in order to avoid problems on such slow running systems. Signed-off-by: Paul Burton <paul.burton@imgtec.com> --- arch/mips/Kconfig | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e3aa5b0..79cac90 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -2529,6 +2529,9 @@ choice help Allows the configuration of the timer frequency. + config HZ_24 + bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ + config HZ_48 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ @@ -2552,6 +2555,9 @@ choice endchoice +config SYS_SUPPORTS_24HZ + bool + config SYS_SUPPORTS_48HZ bool @@ -2575,13 +2581,18 @@ config SYS_SUPPORTS_1024HZ config SYS_SUPPORTS_ARBIT_HZ bool - default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ - !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ - !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ + default y if !SYS_SUPPORTS_24HZ && \ + !SYS_SUPPORTS_48HZ && \ + !SYS_SUPPORTS_100HZ && \ + !SYS_SUPPORTS_128HZ && \ + !SYS_SUPPORTS_250HZ && \ + !SYS_SUPPORTS_256HZ && \ + !SYS_SUPPORTS_1000HZ && \ !SYS_SUPPORTS_1024HZ config HZ int + default 24 if HZ_24 default 48 if HZ_48 default 100 if HZ_100 default 128 if HZ_128 -- 2.5.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Ralf Baechle <ralf@linux-mips.org> |
|---|---|
| Date | 2015-09-22 20:10 +0200 |
| Message-ID | <qbAaU-4xo-93@gated-at.bofh.it> |
| In reply to | #1230518 |
On Tue, Sep 22, 2015 at 10:16:39AM -0700, Paul Burton wrote: > A boundary exists beyond which the timer frequency becomes high enough > that timer interrupts saturate the system and either cause it to slow to > a crawl or stop functioning entirely. Where that boundary lies depends > upon a number of factors such as the overhead of each interrupt and the > overall speed of the CPU, but correlates strongly with the clock > frequency at which the CPU runs. When running on emulators during > bringup or debug of a CPU that clock frequency is very low, which > results in the boundary at which the timer frequency becomes > unsustainable being very low. The current minimum of 48Hz pushes against > boundary in certain situations in current systems. Allow the kernel to > be configured for a 24Hz timer frequency in order to avoid problems on > such slow running systems. The current minimum of 48Hz in the MIPS kconfig files predates the rewrites to use clocksource/clockevent device in 2.6.27 or so. The value of 48Hz is the lowest value at which the old time code was still working properly. Afair the change was submitted by Kevin Kissel or Chris Dearman to improve performance on with emulated CPUs which by that time were running at like 500kHz (I think it was an IKOS) clock rate. Presumably below 48Hz the math in the kernel's time code was falling apart but anyway, afaics the value was derived experimentally. Ralf -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web