From: "Jan Beulich" <JBeulich@novell.com>
To: "Rafael Wysocki" <rjw@sisk.pl>
Cc: "Andrew Morton" <akpm@osdl.org>, "Andi Kleen" <ak@suse.de>,
<linux-kernel@vger.kernel.org>,
"Discuss x86-64" <discuss@x86-64.org>
Subject: [discuss] Re: 2.6.15-rc5-mm1 (x86_64-hpet-overflow.patch breaks resume from disk)
Date: Thu, 08 Dec 2005 09:43:52 +0100 [thread overview]
Message-ID: <43980058.76F0.0078.0@novell.com> (raw)
In-Reply-To: <200512080015.01444.rjw@sisk.pl>
I don't know how resume normally handles the re-syncing of the wall
clock, but the problem here is obvious: do_timer runs a loop to
increment jiffies, which may require significant amounts of time
(depending how long the system was sleeping).
Whatever mechanism was previously used to adjust the wall clock during
resume, this (a) has to happen before enabling interrupts and (b) has to
communicate to the timer interrupt handler to adjust its last time stamp
taken (to compare against in the next run). Clearly, the code was broken
already before, as it doesn't handle the resume case (where the HPET
value read is entirely unrelated to the one read during the last timer
interrupt before suspend) at all, and even in the TSC timer case it
simply checks whether the TSC delta is negative (which is not a valid
condition, as, between the booting of the system and the OS resume there
may elapse more time than the system was running altogether prior to
suspend).
Jan
>>> "Rafael J. Wysocki" <rjw@sisk.pl> 08.12.05 00:15:01 >>>
Update:
On Wednesday, 7 December 2005 01:46, Rafael J. Wysocki wrote:
> Hi,
>
> On Monday, 5 December 2005 08:21, Andrew Morton wrote:
> >
> >
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.15-rc5/2.6.15-rc5-mm1/
>
> }-- snip --{
> > +x86_64-hpet-overflow.patch
>
> This patch breaks resume from disk badly. The box hangs solid as
soon as interrupts
> are reenabled during resume (right after the image has been read).
I've just managed to get a call trace from it, which is appended.
Greetings,
Rafael
swsusp: Reading resume file was successful
PM: Preparing devices for restore.
Suspending device 1.0
Suspending device ide1
Suspending device 0.1
Suspending device ide0
Suspending device serial8250
Suspending device serio4
Suspending device serio3
Suspending device serio2
Suspending device serio1
Suspending device serio0
Suspending device i8042
Suspending device vesafb.0
Suspending device 0000:01:00.0
Suspending device 0000:02:02.0
Suspending device 0000:02:01.4
Suspending device 0000:02:01.3
Suspending device 0000:02:01.2
Suspending device 0000:02:01.1
Suspending device 0000:02:01.0
Suspending device 0000:02:00.0
Suspending device 0000:00:18.3
Suspending device 0000:00:18.2
Suspending device 0000:00:18.1
Suspending device 0000:00:18.0
Suspending device 0000:00:0b.0
Suspending device 0000:00:0a.0
Suspending device 0000:00:08.0
Suspending device 0000:00:06.0
Suspending device 0000:00:02.2
Suspending device 0000:00:02.1
Suspending device 0000:00:02.0
Suspending device 0000:00:01.1
Suspending device 0000:00:01.0
Suspending device 0000:00:00.0
Suspending device pci0000:00
Suspending device platform
PM: Restoring saved image.
NMI Watchdog detected LOCKUP on CPU 0
CPU 0
Modules linked in: usbserial thermal processor fan button battery ac
snd_pcm_oss snd_mixer_oss snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_
pcm snd_timer snd soundcore snd_page_alloc af_packet pcmcia
firmware_class yenta_socket rsrc_nonstatic pcmcia_core evdev joydev sg
usbhid st
sr_mod ehci_hcd ohci_hcd sk98lin sd_mod scsi_mod ide_cd cdrom dm_mod
parport_pc lp parport
Pid: 3304, comm: bash Not tainted 2.6.15-rc5-mm1 #1
RIP: 0010:[<ffffffff8013c87d>] <ffffffff8013c87d>{do_timer+77}
RSP: 0018:ffffffff80481eb8 EFLAGS: 00000002
RAX: 000000001d0f8788 RBX: 00000255e7679aa8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 00000000003d09fa RDI: 0000000000000000
RBP: ffffffff80481ed8 R08: 0000000000000040 R09: 00000000ffffffff
R10: 0000000094fc4b38 R11: 00000000c0010008 R12: 000002560cbc37bc
R13: ffff81002bd63d38 R14: ffff81002bd63d38 R15: 0000000000000000
FS: 00002aaaab28fe80(0000) GS:ffffffff8050f000(0000)
knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002aaaaaac2000 CR3: 000000002ad20000 CR4: 00000000000006e0
Process bash (pid: 3304, threadinfo ffff81002bd62000, task
ffff810001fdb790)
Stack: 0000000000000fed 00000000000002b7 0000000000000b18
000002560cbc37bb
ffffffff80481f08 ffffffff80112dd1 ffffffff803d39c0
0000000000000000
ffff81002bd63d38 0000000000000000
Call Trace: <IRQ> <ffffffff80112dd1>{timer_interrupt+689}
<ffffffff8015ae83>{handle_IRQ_event+51}
<ffffffff8015af72>{__do_IRQ+162} <ffffffff80111097>{do_IRQ+55}
<ffffffff8010f0b0>{ret_from_intr+0} <EOI>
<ffffffff8011ae3d>{enable_lapic_nmi_watchdog+29}
<ffffffff8011ae63>{lapic_nmi_resume+19}
<ffffffff8015296d>{swsusp_suspend+93}
<ffffffff8015296a>{swsusp_suspend+90}
<ffffffff801537b8>{pm_suspend_disk+88}
<ffffffff80151266>{enter_state+118}
<ffffffff801514a7>{state_store+119}
<ffffffff801c09a4>{subsys_attr_store+36}
<ffffffff801c0e2a>{sysfs_write_file+202}
<ffffffff80180549>{vfs_write+233}
<ffffffff801806f0>{sys_write+80}
<ffffffff8010eb0e>{system_call+126}
Code: 48 ff cb 48 85 c9 48 89 ce 74 25 8b 05 de 38 2a 00 48 63 d0
console shuts up ...
<7>APIC error on CPU0: 00(00)
Kernel panic - not syncing: Aiee, killing interrupt handler!
next prev parent reply other threads:[~2005-12-08 8:43 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-05 7:21 2.6.15-rc5-mm1 Andrew Morton
2005-12-05 6:49 ` 2.6.15-rc5-mm1 Carlos Martín
2005-12-06 3:04 ` 2.6.15-rc5-mm1 Andrew Morton
2005-12-06 6:59 ` 2.6.15-rc5-mm1 Ingo Molnar
2005-12-05 19:06 ` 2.6.15-rc5-mm1: git-alsa-vs-git-pcmcia.patch introduces new compile errors Adrian Bunk
2005-12-05 20:05 ` Takashi Iwai
2005-12-05 21:40 ` 2.6.15-rc5-mm1: USB_IP problems Adrian Bunk
2005-12-07 0:02 ` Greg KH
2005-12-07 0:08 ` Adrian Bunk
2005-12-05 23:05 ` 2.6.15-rc5-mm1 J.A. Magallon
2005-12-05 23:06 ` 2.6.15-rc5-mm1 Randy.Dunlap
2005-12-10 23:36 ` 2.6.15-rc5-mm1 Greg KH
2005-12-10 23:46 ` 2.6.15-rc5-mm1 J.A. Magallon
2005-12-11 21:36 ` 2.6.15-rc5-mm1 J.A. Magallon
2005-12-12 22:58 ` 2.6.15-rc5-mm1 Andrew Morton
2005-12-13 3:44 ` [linux-usb-devel] 2.6.15-rc5-mm1 Alan Stern
2005-12-13 13:51 ` J.A. Magallon
2005-12-13 15:35 ` Alan Stern
2005-12-13 16:47 ` David Brownell
2005-12-06 13:33 ` 2.6.15-rc5-mm1 KAMEZAWA Hiroyuki
2005-12-07 0:46 ` 2.6.15-rc5-mm1 (x86_64-hpet-overflow.patch breaks resume from disk) Rafael J. Wysocki
2005-12-07 23:15 ` Rafael J. Wysocki
2005-12-08 8:43 ` Jan Beulich [this message]
2005-12-08 10:53 ` [discuss] " Rafael J. Wysocki
2005-12-08 22:35 ` Rafael J. Wysocki
2005-12-09 9:15 ` Jan Beulich
2005-12-09 9:16 ` Andi Kleen
2005-12-09 11:20 ` Rafael J. Wysocki
2005-12-09 12:41 ` Jan Beulich
2005-12-09 13:10 ` Rafael J. Wysocki
2005-12-09 17:34 ` Rafael J. Wysocki
2005-12-12 7:58 ` Jan Beulich
2005-12-12 8:05 ` [discuss] " Andi Kleen
2005-12-08 22:47 ` Andi Kleen
2005-12-08 23:00 ` Rafael J. Wysocki
2005-12-09 9:08 ` Jan Beulich
2005-12-09 9:16 ` Andi Kleen
2005-12-09 10:57 ` Jan Beulich
2005-12-08 19:09 ` 2.6.15-rc5-mm1 Badari Pulavarty
2005-12-08 21:14 ` 2.6.15-rc5-mm1 James Courtier-Dutton
2005-12-08 23:02 ` 2.6.15-rc5-mm1 Adrian Bunk
2005-12-09 7:15 ` [Alsa-devel] 2.6.15-rc5-mm1 Jaroslav Kysela
2005-12-09 1:09 ` 2.6.15-rc5-mm1 Alexander E. Patrakov
2005-12-09 1:52 ` 2.6.15-rc5-mm1 Jeff Garzik
2005-12-12 16:12 ` 2.6.15-rc5-mm1 Alan Cox
2005-12-13 22:49 ` 2.6.15-rc5-mm1 J.A. Magallon
2005-12-13 23:24 ` 2.6.15-rc5-mm1 Andrew Morton
2005-12-14 0:17 ` 2.6.15-rc5-mm1 J.A. Magallon
2005-12-14 0:22 ` 2.6.15-rc5-mm1 Andrew Morton
2005-12-14 1:33 ` 2.6.15-rc5-mm1 Dmitry Torokhov
2005-12-14 0:31 ` 2.6.15-rc5-mm1 Ben Pfaff
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=43980058.76F0.0078.0@novell.com \
--to=jbeulich@novell.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=discuss@x86-64.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
/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