hi Jisheng: 2015-09-01 14:39 GMT+08:00 Jisheng Zhang <jszhang@xxxxxxxxxxx>: > On Tue, 1 Sep 2015 11:32:36 +0530 > Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > >> On 01-09-15, 13:36, vichy wrote: >> > >> I try to call below 2 functions to change the frequency of clocksource >> > >> and clockevent, but the above b) sleep time is still incorrect when >> > >> cpu runs in 500Mhz. >> > >> clockevents_update_freq(this_cpu_ptr(gt_evt), gt_clk_rate); >> > >> __clocksource_updatefreq_hz(>_clocksource, gt_clk_rate); >> >> How and when were you calling them? What kernel version is it ? >> >> > Clock Event Device: arm_global_timer >> >> This driver doesn't have support to update clkevt device's freq. You >> may need to modify that based on how arch/arm/kernel/smp_twd.c is >> updated. look for: clockevents_update_freq(). >> > > This can only help the clockevent. Even with this cpufreq notifier > update, the globaltimer clocksource still can't hold correct/accurate time. Why even global timer add clockevents_update_freq, it stilll CANNOT hold currect/accurate time? When I trace the kernel, clockevents_program_event will calculate the cycles with mult/shift then put in comparator. if we put the write mult/shift, the global timer should hold correct/accurate time under different phepherial clock, right? Appreciate all your kind help, -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html