Messages in this thread | | | Subject | Re: [PATCH]: fix 32bits integer overflow in loops_per_jiffy calculation | From | Yoann Vandoorselaere <> | Date | 22 Aug 2002 20:02:13 +0200 |
| |
On Thu, 2002-08-22 at 19:46, Dominik Brodowski wrote: > On Thu, Aug 22, 2002 at 09:35:16PM +0200, Benjamin Herrenschmidt wrote: > > >IMHO per-arch functions are really not needed. The only architectures which > > >have CPUFreq drivers by now are ARM and i386. This will change, hopefully; > > >IMHO it should be enough to include some basic limit checking in > > >cpufreq_scale(). > > > > In this specific case, we were talking about PPC since the problem > > occured when I implemented cpufreq support to switch the speed > > of the latest powerbooks between 667 and 800Mhz > > And the patch from Yoann solves this?
Yep, the integer overflow resulted in an incorrectly computed loops_per_jiffy :
Aug 21 19:50:41 titane kernel: adjust_jiffies: prechange cur=667000, new=800000 Aug 21 19:50:41 titane kernel: old loop_per_jiffy = 665.19 (cpufreq_ref_loops=3325952, cpufreq_ref_freq=667000). Aug 21 19:50:41 titane kernel: new loop_per_jiffy = 669.02 (cpufreq_ref_loops=3325952, cpufreq_ref_freq=667000).
With the patch applied, it work fine :
Aug 22 11:33:40 titane kernel: adjust_jiffies: prechange cur=667000, new=800000 Aug 22 11:33:40 titane kernel: old loop_per_jiffy = 665.19 (cpufreq_ref_loops=3325952, cpufreq_ref_freq=667000). Aug 22 11:33:40 titane kernel: new loop_per_jiffy = 797.82 (cpufreq_ref_loops=3325952, cpufreq_ref_freq=667000).
-- Yoann Vandoorselaere, http://www.prelude-ids.org
"Programming is a race between programmers, who try and make more and more idiot-proof software, and universe, which produces more and more remarkable idiots. Until now, universe leads the race" -- R. Cook
- 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/
| |