lkml.org 
[lkml]   [2009]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] clocksource: save mult_orig in clocksource_disable()
From
Date
On Fri, 2009-07-31 at 14:18 +0200, Ingo Molnar wrote:
> * Magnus Damm <magnus.damm@gmail.com> wrote:
>
> > On Fri, Jun 19, 2009 at 4:17 AM, john stultz<johnstul@us.ibm.com> wrote:
> > > On Fri, 2009-06-19 at 00:24 +0900, Magnus Damm wrote:
> > >> From: Magnus Damm <damm@igel.co.jp>
> > >>
> > >> Save clocksource mult_orig in clocksource_disable().
> > >>
> > >> To fix the common case where ->enable() does not setup
> > >> mult, make sure mult_orig is saved in mult on disable.
> > >>
> > >> Also add comments to explain why we do this.
> > >>
> > >> Signed-off-by: Magnus Damm <damm@igel.co.jp>
> > >
> > > Acked-by: John Stultz <johnstul@us.ibm.com>
> > >
> > > Thomas, Andrew, please push this for 2.6.31.
> >
> > This one is slowly making it's way in I suppose?
>
> Btw., what specific issue does this fix? The commit description is
> generic, there's no bugzilla link and no other information either
> that could give me an idea about precisely what incarnation of the
> bug you have hit.

Magnus' earlier change to mult_orig makes it so mult_orig is written on
enable, instead of when we register the clocksource. This causes
problems as enable() might be called multiple times while a system is
running, where as the register would only happen once.

If a user switches away from a clocksource and back to a clocksource,
the mult_orig will no longer be the original mult, as we will over write
it with an NTP adjusted mult.

Its a minor detail, but it causes problems when I do NTP testing across
different clocksources, as the ppm drift factor does not stay constant
per clocksource.

This fix makes sure we store mult_orig over mult on disable() so we
restore the correct value on the next enable().

thanks
-john




\
 
 \ /
  Last update: 2009-07-31 19:31    [W:0.046 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site