From: Josh Triplett <josh@joshtriplett.org>
To: John Stultz <john.stultz@linaro.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>,
Linux-Next <linux-next@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>,
Catalina Mocanu <catalina.mocanu@gmail.com>
Subject: Re: linux-next: manual merge of the tiny tree with the tip tree
Date: Mon, 24 Nov 2014 23:20:13 -0800 [thread overview]
Message-ID: <20141125072013.GB1691@thin> (raw)
In-Reply-To: <CALAqxLUKM7VyB6MW=-Mm+NA2pOEtD1CP3FxrmA_1gCucGon4hA@mail.gmail.com>
On Mon, Nov 24, 2014 at 10:30:10PM -0800, John Stultz wrote:
> On Mon, Nov 24, 2014 at 10:16 PM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > * Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> >> Hi Josh,
> >>
> >> Today's linux-next merge of the tiny tree got a conflict in
> >> kernel/time/Makefile between commit fd866e2b116b ("time: Rename
> >> udelay_test.c to test_udelay.c") from the tip tree and commit
> >> d1f6d68d03ea ("kernel: time: Compile out NTP support") from the tiny
> >> tree.
> >
> > So I think a timer subsystem commit d1f6d68d03ea with this
> > magnitude of linecount increase:
> >
> > Signed-off-by: Catalina Mocanu <catalina.mocanu@gmail.com>
> > [josh: Handle CONFIG_COMPAT=y.]
> > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> > Signed-off-by: Josh Triplett <josh@joshtriplett.org>
> > ---
> > drivers/pps/Kconfig | 2 +-
> > include/linux/timex.h | 15 +++++++++++++--
> > init/Kconfig | 10 ++++++++++
> > kernel/compat.c | 8 ++++++--
> > kernel/sys_ni.c | 4 ++++
> > kernel/time/Makefile | 3 ++-
> > kernel/time/ntp_internal.h | 28 ++++++++++++++++++++++++++++
> > kernel/time/posix-timers.c | 2 ++
> > kernel/time/time.c | 2 ++
> > kernel/time/timekeeping.c | 2 ++
> > 10 files changed, 70 insertions(+), 6 deletions(-)
> >
> > at minimum needs the ack of timer folks, before it can be
> > committed to Git. Or is the tiny tree plan to submit all
> > patches to the appropriate subsystem or gather acks, before
> > sending it upstream?
>
> Yea. From first glance d1f6d68d03ea looks fairly broken.
>
> Returning 0 for ntp_tick_length() (which should be the current tick
> length in NTP_SCALE_SHIFT shifted ns), seems like it would cause major
> timekeeping problems.
Ouch, yeah; I'm impressed the kernel successfully booted that way (which
I did test).
Computing the tick_length to return seems to require a div_u64; is it
safe to initialize a static const with the result of calling div_u64, or
does the intializer need manual constant-folding to make the expression
compile-time computable?
Going by the logic in ntp_update_frequency, it looks like the stub
ntp_tick_length needs to return:
tick_length_base = 0;
tick_usec = TICK_USEC;
second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ) << NTP_SCALE_SHIFT;
new_base = div_u64(second_length, NTP_INTERVAL_FREQ);
tick_length += new_base - tick_length_base;
(tick_length starts out 0, gets new_base - 0 added initially, and every
subsequent time gets 0 added since tick_length_base won't change.)
Substituting and simplifying:
tick_length = new_base
= div_u64(second_length, NTP_INTERVAL_FREQ)
= div_u64((TICK_USEC * NSEC_PER_USEC * USER_HZ) << NTP_SCALE_SHIFT, NTP_INTERVAL_FREQ)
The numerator there could potentially be simplified, but I don't see an
obvious way around the division by NTP_INTERVAL_FREQ (defined as HZ).
- Josh Triplett
next prev parent reply other threads:[~2014-11-25 7:20 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 6:03 linux-next: manual merge of the tiny tree with the tip tree Stephen Rothwell
2014-11-25 6:16 ` Ingo Molnar
2014-11-25 6:16 ` Ingo Molnar
2014-11-25 6:30 ` John Stultz
2014-11-25 7:20 ` Josh Triplett [this message]
2014-11-25 6:48 ` Josh Triplett
2014-11-25 10:10 ` Ingo Molnar
2014-11-26 0:04 ` josh
2014-12-08 11:09 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2014-09-26 6:45 Stephen Rothwell
2014-09-23 4:32 Stephen Rothwell
2014-09-23 5:43 ` Ingo Molnar
2014-09-23 6:21 ` Josh Triplett
2014-09-23 8:36 ` Ingo Molnar
2014-10-29 15:52 ` Josh Triplett
2014-09-23 4:23 Stephen Rothwell
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=20141125072013.GB1691@thin \
--to=josh@joshtriplett.org \
--cc=catalina.mocanu@gmail.com \
--cc=hpa@zytor.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=sfr@canb.auug.org.au \
--cc=tglx@linutronix.de \
/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.