From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: linux-kernel@vger.kernel.org
Cc: Stefan Seyfried <seife@suse.de>, Andrew Morton <akpm@osdl.org>,
Pavel Machek <pavel@suse.cz>
Subject: Re: 2.6.9-rc2-mm3: swsusp horribly slow on AMD64
Date: Mon, 27 Sep 2004 00:01:09 +0200 [thread overview]
Message-ID: <200409270001.09311.rjw@sisk.pl> (raw)
In-Reply-To: <41572E05.9030406@suse.de>
[-- Attachment #1: Type: text/plain, Size: 2791 bytes --]
On Sunday 26 of September 2004 23:00, Stefan Seyfried wrote:
> Rafael J. Wysocki wrote:
> > On Sunday 26 of September 2004 12:09, Pavel Machek wrote:
>
> >>>>We have seen something similar after hdparm was used on specific
> >>>>machines. Are you using hdparm?
>
> Pavel, i am pretty sure the issue with hdparm and 32-bit disk access was
> just a symptom, not the cause. Rafael, please try the patch i posted in
> the other mail, i believe this is the right thing to do.
In summary:
1) The patch does not fix the problem. :-(
2) In the meantime, I've made the following change to pci-driver.c:
--- pci-driver.c 2004-09-26 23:35:32.701574416 +0200
+++ pci-driver.c.rjw 2004-09-26 23:35:18.441742240 +0200
@@ -328,6 +328,7 @@
*/
static void pci_default_resume(struct pci_dev *pci_dev)
{
+ printk("pci_default_resume (0x%04x, 0x%04x): %ld\n", pci_dev->vendor,
pci_dev->device, jiffies/HZ);
/* restore the PCI config space */
pci_restore_state(pci_dev, pci_dev->saved_config_space);
/* if the device was enabled before suspend, reenable */
@@ -343,6 +344,7 @@
struct pci_dev * pci_dev = to_pci_dev(dev);
struct pci_driver * drv = pci_dev->driver;
+ printk("pci_device_resume (0x%04x, 0x%04x): %ld\n", pci_dev->vendor,
pci_dev->device, jiffies/HZ);
if (drv && drv->resume)
drv->resume(pci_dev);
else
in order to identify the offending device. I'm now almost sure that the
NVidia chipset is to blame but I don't know which part of it exactly.
I've got two logs (attached), one of which is taken from the system with all
modules loaded (swsusp.log), and the other comes from the system with no
modules except for ipv6 (swsusp-nomod.log). As you can see from the first
log, the system with all modules loaded slows down significantly after
pci_device_resume() is called for the device having vendor id = 0x10de
(NVidia) and device id = 0x00d7 (no idea). The system without modules is
capable of writing 80-83% of pages to the swap _before_ slows down too and I
have to wait for 1/2 h for the remaining ~20%.
I'm afraid I can't get any more info until I sort out the sysrq problem.
[-- snip --]
> > /* Restore control flow magically appears here */
> > restore_processor_state();
> > - local_irq_enable();
> > restore_highmem();
> > + local_irq_enable();
> > return error;
> > }
>
> without this one is needed or highmem will break "sometimes". Was really
> nasty. You did have highmem-resume problems, didn't you?
Yup, probably. I only need to apply it to 2.6.9-rc2-mm1 to confirm that it
fixes what I've seen.
Greets,
RJW
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
[-- Attachment #2: swsusp.log --]
[-- Type: text/x-log, Size: 2971 bytes --]
Stopping tasks: ==============================|
Freeing memory... done (17085 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: critical section:
..<7>[nosave pfn 0x588]....................................swsusp: Need to copy 10916 pages
suspend: (pages needed: 10916 + 512 free: 119963)
..<7>[nosave pfn 0x588]....................................swsusp: critical section/: done (11044 pages copied)
PM: writing image.
pci_device_resume (0x10de, 0x00d1): 4294786
pci_default_resume (0x10de, 0x00d1): 4294786
pci_device_resume (0x10de, 0x00d0): 4294786
pci_default_resume (0x10de, 0x00d0): 4294786
pci_device_resume (0x10de, 0x00d4): 4294786
pci_default_resume (0x10de, 0x00d4): 4294786
pci_device_resume (0x10de, 0x00d7): 4294786
PCI: Setting latency timer of device 0000:00:02.0 to 64
pci_device_resume (0x10de, 0x00d7): 4294792
PCI: Setting latency timer of device 0000:00:02.1 to 64
pci_device_resume (0x10de, 0x00d8): 4294798
PCI: Setting latency timer of device 0000:00:02.2 to 64
pci_device_resume (0x10de, 0x00da): 4294801
ACPI: PCI interrupt 0000:00:06.0[A] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:06.0 to 64
pci_device_resume (0x10de, 0x00d9): 4294803
pci_default_resume (0x10de, 0x00d9): 4294803
pci_device_resume (0x10de, 0x00d5): 4294803
pci_default_resume (0x10de, 0x00d5): 4294803
pci_device_resume (0x10de, 0x00dd): 4294803
pci_default_resume (0x10de, 0x00dd): 4294803
pci_device_resume (0x10de, 0x00d2): 4294803
pci_default_resume (0x10de, 0x00d2): 4294803
pci_device_resume (0x1022, 0x1100): 4294803
pci_default_resume (0x1022, 0x1100): 4294803
pci_device_resume (0x1022, 0x1101): 4294803
pci_default_resume (0x1022, 0x1101): 4294803
pci_device_resume (0x1022, 0x1102): 4294803
pci_default_resume (0x1022, 0x1102): 4294803
pci_device_resume (0x1022, 0x1103): 4294803
pci_default_resume (0x1022, 0x1103): 4294803
pci_device_resume (0x11ab, 0x4320): 4294803
pci_default_resume (0x11ab, 0x4320): 4294803
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
pci_device_resume (0x1180, 0x0476): 4294803
pci_device_resume (0x1180, 0x0476): 4294806
pci_device_resume (0x1180, 0x0552): 4294809
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 11 (level, low) -> IRQ 11
pci_device_resume (0x1180, 0x0576): 4294809
pci_default_resume (0x1180, 0x0576): 4294809
pci_device_resume (0x1180, 0x0592): 4294809
pci_default_resume (0x1180, 0x0592): 4294809
pci_device_resume (0x14e4, 0x4320): 4294809
pci_default_resume (0x14e4, 0x4320): 4294809
pci_device_resume (0x10de, 0x031b): 4294809
pci_default_resume (0x10de, 0x031b): 4294809
swsusp: Version: 132617
swsusp: Num Pages: 130880
swsusp: UTS Sys: Linux
swsusp: UTS Node: albercik
swsusp: UTS Release: 2.6.9-rc2-mm3
swsusp: UTS Version: #4 Sun Sep 26 22:20:12 CEST 2004
swsusp: UTS Machine: x86_64
swsusp: UTS Domain:
swsusp: CPUs: 1
swsusp: Image: 11044 Pages
swsusp: Pagedir: 0 Pages
Writing data to swap (11044 pages)... 0%
[-- Attachment #3: swsusp-nomod.log --]
[-- Type: text/x-log, Size: 3249 bytes --]
Stopping tasks: ===========================|
Freeing memory... done (18713 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: critical section:
..<7>[nosave pfn 0x588]...................................swsusp: Need to copy 10285 pages
suspend: (pages needed: 10285 + 512 free: 120594)
..<7>[nosave pfn 0x588]...................................swsusp: critical section/: done (10413 pages copied)
PM: writing image.
pci_device_resume (0x10de, 0x00d1): 4295657
pci_default_resume (0x10de, 0x00d1): 4295657
pci_device_resume (0x10de, 0x00d0): 4295657
pci_default_resume (0x10de, 0x00d0): 4295657
pci_device_resume (0x10de, 0x00d4): 4295657
pci_default_resume (0x10de, 0x00d4): 4295657
pci_device_resume (0x10de, 0x00d7): 4295657
pci_default_resume (0x10de, 0x00d7): 4295657
pci_device_resume (0x10de, 0x00d7): 4295657
pci_default_resume (0x10de, 0x00d7): 4295657
pci_device_resume (0x10de, 0x00d8): 4295657
pci_default_resume (0x10de, 0x00d8): 4295657
pci_device_resume (0x10de, 0x00da): 4295657
pci_default_resume (0x10de, 0x00da): 4295657
ACPI: PCI interrupt 0000:00:06.0[A] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:06.0 to 64
pci_device_resume (0x10de, 0x00d9): 4295657
pci_default_resume (0x10de, 0x00d9): 4295657
pci_device_resume (0x10de, 0x00d5): 4295657
pci_default_resume (0x10de, 0x00d5): 4295657
pci_device_resume (0x10de, 0x00dd): 4295657
pci_default_resume (0x10de, 0x00dd): 4295657
pci_device_resume (0x10de, 0x00d2): 4295657
pci_default_resume (0x10de, 0x00d2): 4295657
pci_device_resume (0x1022, 0x1100): 4295657
pci_default_resume (0x1022, 0x1100): 4295657
pci_device_resume (0x1022, 0x1101): 4295657
pci_default_resume (0x1022, 0x1101): 4295657
pci_device_resume (0x1022, 0x1102): 4295657
pci_default_resume (0x1022, 0x1102): 4295657
pci_device_resume (0x1022, 0x1103): 4295657
pci_default_resume (0x1022, 0x1103): 4295657
pci_device_resume (0x11ab, 0x4320): 4295657
pci_default_resume (0x11ab, 0x4320): 4295657
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
pci_device_resume (0x1180, 0x0476): 4295657
pci_default_resume (0x1180, 0x0476): 4295657
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 9 (level, low) -> IRQ 9
pci_device_resume (0x1180, 0x0476): 4295657
pci_default_resume (0x1180, 0x0476): 4295657
ACPI: PCI interrupt 0000:02:01.1[B] -> GSI 11 (level, low) -> IRQ 11
pci_device_resume (0x1180, 0x0552): 4295657
pci_default_resume (0x1180, 0x0552): 4295657
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 11 (level, low) -> IRQ 11
pci_device_resume (0x1180, 0x0576): 4295657
pci_default_resume (0x1180, 0x0576): 4295657
pci_device_resume (0x1180, 0x0592): 4295657
pci_default_resume (0x1180, 0x0592): 4295657
pci_device_resume (0x14e4, 0x4320): 4295657
pci_default_resume (0x14e4, 0x4320): 4295657
pci_device_resume (0x10de, 0x031b): 4295657
pci_default_resume (0x10de, 0x031b): 4295657
swsusp: Version: 132617
swsusp: Num Pages: 130880
swsusp: UTS Sys: Linux
swsusp: UTS Node: albercik
swsusp: UTS Release: 2.6.9-rc2-mm3
swsusp: UTS Version: #4 Sun Sep 26 22:20:12 CEST 2004
swsusp: UTS Machine: x86_64
swsusp: UTS Domain:
swsusp: CPUs: 1
swsusp: Image: 10413 Pages
swsusp: Pagedir: 0 Pages
Writing data to swap (10413 pages)... 81%
next prev parent reply other threads:[~2004-09-26 21:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-25 10:14 2.6.9-rc2-mm3: swsusp horribly slow on AMD64 Rafael J. Wysocki
2004-09-25 21:33 ` Stefan Seyfried
2004-09-26 10:02 ` Rafael J. Wysocki
2004-09-26 10:10 ` Pavel Machek
2004-09-26 11:45 ` Rafael J. Wysocki
2004-09-26 13:22 ` Pavel Machek
2004-09-26 17:06 ` Rafael J. Wysocki
2004-09-26 18:34 ` Pavel Machek
2004-09-26 19:25 ` Rafael J. Wysocki
2004-09-26 20:48 ` Stefan Seyfried
2004-09-26 22:05 ` Rafael J. Wysocki
2004-09-26 22:41 ` Pavel Machek
2004-09-25 23:40 ` Pavel Machek
2004-09-26 10:08 ` Rafael J. Wysocki
2004-09-26 10:09 ` Pavel Machek
2004-09-26 11:37 ` Rafael J. Wysocki
2004-09-26 13:20 ` Pavel Machek
2004-09-27 23:23 ` 2.6.9-rc2-mm3: swsusp horribly slow on AMD64 (update) Rafael J. Wysocki
2004-09-28 2:03 ` Narayan Desai
2004-09-29 21:58 ` 2.6.9-rc2-mm[2-4]: zaphod-scheduler.patch makes swsusp incredibly slow (was: Re: 2.6.9-rc2-mm3: swsusp horribly slow on AMD64) Rafael J. Wysocki
2004-09-29 22:50 ` Pavel Machek
2004-09-26 21:00 ` 2.6.9-rc2-mm3: swsusp horribly slow on AMD64 Stefan Seyfried
2004-09-26 22:01 ` Rafael J. Wysocki [this message]
2004-09-26 22:33 ` Pavel Machek
2004-09-27 9:11 ` Rafael J. Wysocki
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=200409270001.09311.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@suse.cz \
--cc=seife@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox