public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Frans Pop <elendil@planet.nl>
To: linux-s390@vger.kernel.org
Cc: Roman Zippel <zippel@linux-m68k.org>,
	John Stultz <johnstul@us.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [BUG,2.6.28,s390] Fails to boot in Hercules S/390 emulator
Date: Mon, 9 Mar 2009 16:04:53 +0100	[thread overview]
Message-ID: <200903091604.56455.elendil@planet.nl> (raw)
In-Reply-To: <200903080230.10099.elendil@planet.nl>

On Sunday 08 March 2009, Frans Pop wrote:
> Kernels after 2.6.27 fail to boot in the Hercules S/390 emulator, quite
> early in the boot process:
[...]
>      0.141419! Initializing cgroup subsys ns
>      0.141605! Initializing cgroup subsys cpuacct
>      0.142009! Initializing cgroup subsys devices
>      0.180403! cpu: 2 configured CPUs, 0 standby CPUs
>
> I've bisected this to the following commit:
> commit 5cd1c9c5cf30d4b33df3d3f74d8142f278d536b7
> Author: Roman Zippel <zippel@linux-m68k.org>
> Date:   Mon Sep 22 14:42:43 2008 -0700
>     timekeeping: fix rounding problem during clock update

After staring at this commit for a while I decided to try the following
patch:
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -547,5 +547,11 @@ void update_wall_time(void)
 	* add the remainder to the error difference.
 	*/
 	xtime.tv_nsec = ((s64)clock->xtime_nsec >> clock->shift) + 1;
+	if (unlikely(clock->xtime_nsec < ((s64)xtime.tv_nsec << clock->shift))) {
+		printk("Negative result: %llu - %lld\n",
+			(unsigned long long)clock->xtime_nsec,
+			(long long)((s64)xtime.tv_nsec << clock->shift));
+		BUG_ON(1);
+	}
 	clock->xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
 	clock->error += clock->xtime_nsec << (NTP_SCALE_SHIFT - clock->shift);

And that resulted in:
     0.004175! Negative result: 166039808000 - 166039808256

So we're trying to stuff a negative value into an unsigned field, and I
keep seeing on these lists that's a bad idea.

I'll leave it up to you how we get there, but could it possibly be the
same kind of thing as corrected earlier today in Heiko Carsten's patch:
http://lkml.org/lkml/2009/3/9/112 ?

Cheers,
FJP

  parent reply	other threads:[~2009-03-09 15:05 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-08  1:30 [BUG,2.6.28,s390] Fails to boot in Hercules S/390 emulator Frans Pop
2009-03-08  7:21 ` Frans Pop
2009-03-09 15:04 ` Frans Pop [this message]
2009-03-11  1:00   ` john stultz
2009-03-11  9:00     ` Frans Pop
2009-03-11 16:03     ` Frans Pop
2009-03-11 17:05       ` Frans Pop
2009-03-11 19:05       ` Frans Pop
2009-03-12  0:34         ` john stultz
2009-03-12  4:47           ` john stultz
2009-03-12  6:51             ` Frans Pop
2009-03-17  5:15               ` john stultz
2009-03-17 14:39                 ` Frans Pop
2009-03-12  0:30       ` john stultz
2009-03-12  0:47         ` john stultz
2009-03-12  1:30           ` Thomas Gleixner
2009-03-12  1:57             ` john stultz
2009-03-12  7:50               ` Thomas Gleixner
2009-03-12 17:05           ` [BUG,2.6.28,s390] Fails to boot in Hercules S/390 emulator - hang traced Frans Pop
2009-03-13 11:48             ` Frans Pop
2009-03-13 17:34               ` Frans Pop
2009-03-17  5:09               ` john stultz
2009-03-18  2:26             ` john stultz
2009-03-18  2:54               ` john stultz
2009-03-18  9:28                 ` Martin Schwidefsky
2009-03-18 12:07                   ` Frans Pop
2009-03-18 15:48                     ` John Stultz
2009-03-23  0:11                       ` Frans Pop
2009-03-23 22:19                         ` John Stultz
2009-03-24  8:23                           ` Martin Schwidefsky
2009-04-14 22:27                         ` [PATCH] Avoid possible endless loop when using jiffies clocksource and ONESHOT mode clockevent john stultz
2009-03-18 15:39                   ` [BUG,2.6.28,s390] Fails to boot in Hercules S/390 emulator - hang traced John Stultz
2009-03-10  3:09 ` [BUG,2.6.28,s390] Fails to boot in Hercules S/390 emulator John Stultz
2009-03-10  3:37   ` Frans Pop
2009-03-10  3:38     ` John Stultz

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=200903091604.56455.elendil@planet.nl \
    --to=elendil@planet.nl \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=zippel@linux-m68k.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox