Re: schedule_timeout sleeps too long after dividing CPU frequency
Viresh Kumar <[email protected]> Thu, 14 May 2015 19:29:38 +0530
| Newsgroups | org.kernel.vger.cpufreq,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <CAKohpon4AV-7nq=Qm7PpDbbW9ti98avY9zz82htzyHWi5_K7fA@mail.gmail.com> |
On 14 May 2015 at 18:36, Mason <[email protected]> wrote: > When I execute "echo 18500 > scaling_max_freq" > the system is supposed to change the CPU frequency to 18.5 MHz > (I might have a bug lurking there) and PERIPHCLK is 1/2 of that, > i.e 9.25 MHz. So at least we are on the right path. But it looks to me that this call is not getting propagated well. From the attachment you gave initially, the event handler for twd-timers is: tick_handle_periodic(). i.e. you are running in periodic mode and not onshot... why ? > Yes, I do, but I was trying to use as much generic code as > possible to limit the chances of introducing bugs. Hmm.. > I'll take a fresh look at the ARM GLOBAL TIMER, but last I > checked, it didn't seem to handle frequency scaling. why is that required? Why will you change its freq ? The same timer is probably used for SPEAr (the platform I used to work on): http://lxr.free-electrons.com/source/arch/arm/mach-spear/time.c?v=3.14