From: john stultz <johnstul@us.ibm.com>
To: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org, Anton Blanchard <anton@samba.org>
Subject: Re: [PATCH 2/4] powerpc/time: Use clocksource_register_hz
Date: Mon, 07 Nov 2011 10:26:48 -0800 [thread overview]
Message-ID: <1320690408.5809.4.camel@work-vm> (raw)
In-Reply-To: <20111105005551.GB31510@bloggs.ozlabs.ibm.com>
On Sat, 2011-11-05 at 11:55 +1100, Paul Mackerras wrote:
> On Thu, Nov 03, 2011 at 09:14:44AM -0400, John Stultz wrote:
> > On Thu, 2011-11-03 at 11:59 +1100, Anton Blanchard wrote:
> > > plain text document attachment (clock3)
> > > Use clocksource_register_hz which calculates the shift/mult
> > > factors for us.
> > >
> > > Signed-off-by: Anton Blanchard <anton@samba.org>
> > > ---
> > >
> > > Index: linux-build/arch/powerpc/kernel/time.c
> > > ===================================================================
> > > --- linux-build.orig/arch/powerpc/kernel/time.c 2011-11-03 10:19:59.493679032 +1100
> > > +++ linux-build/arch/powerpc/kernel/time.c 2011-11-03 10:20:00.965704053 +1100
> > > @@ -86,8 +86,6 @@ static struct clocksource clocksource_rt
> > > .rating = 400,
> > > .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> > > .mask = CLOCKSOURCE_MASK(64),
> > > - .shift = 22,
> > > - .mult = 0, /* To be filled in */
> > > .read = rtc_read,
> > > };
> > >
> > > @@ -97,8 +95,6 @@ static struct clocksource clocksource_ti
> > > .rating = 400,
> > > .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> > > .mask = CLOCKSOURCE_MASK(64),
> > > - .shift = 22,
> > > - .mult = 0, /* To be filled in */
> > > .read = timebase_read,
> > > };
> >
> > So I've held off on ppc conversion to clocksource_register_hz due to the
> > fact that the ppc vdso gettimeofday at least used to make assumptions
> > that shift was 22.
> >
> > Is that no longer the case?
>
> It is still the case; specifically, update_vsyscall() in
> arch/powerpc/kernel/time.c converts a multiplier value to a 'tb_to_xs'
> multiplier (timebase to xsec conversion factor, where 1 xsec = 2^-20
> seconds) using a factor which assumes a shift of 22. The factor needs
> to be 2^(20 + 64 - shift) / 1e9, so we could accommodate other shift
> values by changing the line that computes new_tb_to_xs to do
>
> new_tb_to_xs = (u64) mult * (19342813113834067ULL >> shift);
>
> assuming the shift value is easily available to update_vsyscall
> (I assume it would be clock->shift).
Ok. That sounds reasonable. clock->shift should be correct there.
thanks
-john
next prev parent reply other threads:[~2011-11-07 18:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-03 0:59 [PATCH 0/4] PowerPC time fixes Anton Blanchard
2011-11-03 0:59 ` [PATCH 1/4] powerpc/time: Use clockevents_calc_mult_shift Anton Blanchard
2011-11-03 0:59 ` [PATCH 2/4] powerpc/time: Use clocksource_register_hz Anton Blanchard
2011-11-03 13:14 ` John Stultz
2011-11-05 0:55 ` Paul Mackerras
2011-11-07 18:26 ` john stultz [this message]
2011-11-03 0:59 ` [PATCH 3/4] powerpc/time: Remove unnecessary sanity check of decrementer expiration Anton Blanchard
2011-11-03 0:59 ` [PATCH 4/4] powerpc/time: Fix some style issues Anton Blanchard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1320690408.5809.4.camel@work-vm \
--to=johnstul@us.ibm.com \
--cc=anton@samba.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.