From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Frans Pop <elendil@planet.nl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Greg KH <greg@kroah.com>, Ingo Molnar <mingo@elte.hu>,
jbarnes@virtuousgeek.org, lenb@kernel.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
tiwai@suse.de, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected)
Date: Thu, 4 Dec 2008 23:09:11 +0100 [thread overview]
Message-ID: <200812042309.11540.rjw@sisk.pl> (raw)
In-Reply-To: <200812041229.45443.elendil@planet.nl>
On Thursday, 4 of December 2008, Frans Pop wrote:
> On Wednesday 03 December 2008, Linus Torvalds wrote:
> > Well, I think that what _would_ be generally correct, and actually
> > pretty simple, is a rather different approach: just not sizing things
> > behind a transparent bridge AT ALL, since it really shouldn't matter.
>
> I've given your patch a try and the few resumes from STR I've done were
> all successful. That's not 100% conclusive yet, but a nice start.
> Some info from logs etc. below.
It doesn't help on my box, though. I've got a failure to resume from
hibernation on the first attempt.
However, this one appears to work reliably for me (on top of vanilla current
mainline):
--- linux-2.6.orig/drivers/pci/setup-bus.c
+++ linux-2.6/drivers/pci/setup-bus.c
@@ -350,6 +350,11 @@ static int pbus_size_mem(struct pci_bus
if (r->parent || (r->flags & mask) != type)
continue;
+
+ if ((dev->class >> 8) == PCI_CLASS_BRIDGE_CARDBUS
+ && bus->self->transparent)
+ continue;
+
r_size = resource_size(r);
/* For bridges size != alignment */
align = resource_alignment(r);
> > > Also, I would be happy to actually understand _why_ this happens.
> >
> > 100% agreed. I do _not_ see why it should ever matter how we set up a
> > PCI bridging window - whether prefetchable or not - on a bridge that
> > should be transparent. It sounds really odd. I'm wondering if there is
> > something we're missing here.
>
> The theory that it is really a resume issue and not a device layout issue
> sounds logical. Especially as everything always works correctly after a
> normal boot.
Well, in fact I'm pretty sure this is the case. By changing memory address
space layout we effectively change conditions during suspend-resume and
apparently we can choose one for which the failure condition doesn't trigger
(or, IOW, the probability of it is _so_ small that we just can't see it).
There seems to be a race of some kind or a missing delay or something similar.
Thanks,
Rafael
next prev parent reply other threads:[~2008-12-04 22:10 UTC|newest]
Thread overview: 186+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-02 2:20 Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected) Rafael J. Wysocki
2008-12-02 3:32 ` Linus Torvalds
2008-12-02 3:42 ` Linus Torvalds
2008-12-02 4:31 ` Frans Pop
2008-12-02 4:46 ` Linus Torvalds
2008-12-02 5:29 ` Frans Pop
2008-12-02 5:56 ` Frans Pop
2008-12-02 15:46 ` Linus Torvalds
2008-12-02 17:46 ` Frans Pop
2008-12-02 18:17 ` Linus Torvalds
2008-12-05 8:53 ` MSI changes in .28 Frans Pop
2008-12-05 9:09 ` Yinghai Lu
2008-12-05 12:20 ` Ingo Molnar
2008-12-05 13:04 ` Eric Dumazet
2008-12-05 17:49 ` H. Peter Anvin
2008-12-02 4:13 ` Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected) Frans Pop
2008-12-02 4:36 ` Linus Torvalds
2008-12-02 22:38 ` Rafael J. Wysocki
2008-12-02 23:37 ` Linus Torvalds
2008-12-03 0:00 ` Rafael J. Wysocki
2008-12-03 0:05 ` Rafael J. Wysocki
2008-12-03 0:31 ` Rafael J. Wysocki
2008-12-03 0:41 ` Linus Torvalds
2008-12-03 1:22 ` Rafael J. Wysocki
2008-12-03 2:02 ` Linus Torvalds
2008-12-03 7:40 ` Rafael J. Wysocki
2008-12-03 7:52 ` Rafael J. Wysocki
2008-12-03 11:20 ` Rafael J. Wysocki
2008-12-03 15:53 ` Linus Torvalds
2008-12-04 1:23 ` Rafael J. Wysocki
2008-12-04 4:40 ` Linus Torvalds
2008-12-04 8:21 ` Frans Pop
2008-12-04 22:01 ` Rafael J. Wysocki
2008-12-04 11:29 ` Frans Pop
2008-12-04 16:17 ` Linus Torvalds
2008-12-04 18:00 ` Frans Pop
2008-12-04 20:03 ` Linus Torvalds
2008-12-05 21:26 ` Linus Torvalds
2008-12-05 22:01 ` Rafael J. Wysocki
2008-12-05 22:14 ` Linus Torvalds
2008-12-06 0:04 ` Rafael J. Wysocki
2008-12-06 0:50 ` Linus Torvalds
2008-12-06 1:18 ` Rafael J. Wysocki
2008-12-06 1:55 ` Linus Torvalds
2008-12-06 2:18 ` Rafael J. Wysocki
2008-12-06 13:53 ` Rafael J. Wysocki
2008-12-06 2:45 ` Greg KH
2009-01-28 12:00 ` Frans Pop
2009-01-29 14:11 ` Ingo Molnar
2009-01-29 14:48 ` Rafael J. Wysocki
2009-01-29 16:44 ` Alexey Starikovskiy
2009-01-30 4:35 ` Frans Pop
2008-12-06 9:20 ` [patch,rfc] usb: restore config before enabling device on resume Frans Pop
2008-12-06 13:48 ` Rafael J. Wysocki
2008-12-06 15:02 ` Frans Pop
2008-12-10 14:06 ` "APIC error on CPU1: 00(40)" during resume (was: Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500) Frans Pop
2008-12-10 15:51 ` Linus Torvalds
2008-12-10 16:05 ` Frans Pop
2008-12-10 16:26 ` Linus Torvalds
2008-12-10 16:52 ` Matthew Garrett
2008-12-10 17:13 ` Linus Torvalds
2008-12-10 17:33 ` Ingo Molnar
2008-12-10 18:41 ` Maxim Levitsky
2008-12-20 21:31 ` "APIC error on CPU1: 00(40)" during resume Frans Pop
2008-12-21 8:29 ` Ingo Molnar
2008-12-23 4:28 ` Len Brown
2008-12-04 22:46 ` Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected) Rafael J. Wysocki
2008-12-04 22:40 ` Rafael J. Wysocki
2008-12-04 23:22 ` Linus Torvalds
2008-12-04 23:45 ` Rafael J. Wysocki
2008-12-05 0:07 ` Linus Torvalds
2008-12-05 0:20 ` Rafael J. Wysocki
2008-12-05 6:55 ` Frans Pop
2008-12-04 22:09 ` Rafael J. Wysocki [this message]
2008-12-04 22:20 ` Linus Torvalds
2008-12-04 23:31 ` Rafael J. Wysocki
2008-12-05 0:03 ` Linus Torvalds
2008-12-05 0:45 ` Linus Torvalds
2008-12-05 1:08 ` Rafael J. Wysocki
2008-12-05 1:45 ` Linus Torvalds
2008-12-05 2:55 ` Linus Torvalds
2008-12-05 3:25 ` Linus Torvalds
2008-12-05 6:44 ` Frans Pop
2008-12-05 8:27 ` Frans Pop
2008-12-05 12:00 ` Rafael J. Wysocki
2008-12-05 15:57 ` Linus Torvalds
2008-12-05 21:32 ` Rafael J. Wysocki
2008-12-05 17:25 ` Jesse Barnes
2008-12-02 15:49 ` Rafael J. Wysocki
2008-12-06 14:05 ` [PATCH 0/3] Fix hibernation regression on Toshiba Portege R500 Rafael J. Wysocki
2008-12-06 14:07 ` [PATCH 1/3] PCI: Rework default handling of suspend and resume Rafael J. Wysocki
2008-12-06 14:07 ` Rafael J. Wysocki
2008-12-06 17:07 ` Linus Torvalds
2008-12-06 17:22 ` Rafael J. Wysocki
2008-12-06 17:22 ` Rafael J. Wysocki
2008-12-06 17:33 ` Linus Torvalds
2008-12-06 17:43 ` Rafael J. Wysocki
2008-12-06 17:43 ` Rafael J. Wysocki
2008-12-06 18:00 ` Linus Torvalds
2008-12-06 18:00 ` Linus Torvalds
2008-12-06 21:24 ` Rafael J. Wysocki
2008-12-06 21:24 ` Rafael J. Wysocki
2008-12-07 4:44 ` Jesse Barnes
2008-12-07 4:44 ` Jesse Barnes
2008-12-07 5:41 ` Greg KH
2008-12-07 5:41 ` Greg KH
2008-12-07 12:47 ` Rafael J. Wysocki
2008-12-07 16:44 ` Linus Torvalds
2008-12-07 21:02 ` Rafael J. Wysocki
2008-12-07 21:02 ` Rafael J. Wysocki
2008-12-07 16:44 ` Linus Torvalds
2008-12-07 17:26 ` Greg KH
2008-12-07 17:26 ` Greg KH
2008-12-07 23:34 ` [PATCH 1/3] PCI: Rework default handling of suspend and resume (rebased) Rafael J. Wysocki
2008-12-07 23:34 ` Rafael J. Wysocki
2008-12-07 12:47 ` [PATCH 1/3] PCI: Rework default handling of suspend and resume Rafael J. Wysocki
2008-12-06 18:30 ` [linux-pm] " Alan Stern
2008-12-06 21:36 ` Rafael J. Wysocki
2008-12-06 21:36 ` [linux-pm] " Rafael J. Wysocki
2008-12-06 22:24 ` Linus Torvalds
2008-12-06 23:25 ` Arjan van de Ven
2008-12-06 23:35 ` Alan Cox
2008-12-06 23:35 ` Alan Cox
2008-12-07 6:00 ` [linux-pm] " Linus Torvalds
2008-12-07 6:03 ` Linus Torvalds
2008-12-07 6:03 ` [linux-pm] " Linus Torvalds
2008-12-07 13:39 ` Rafael J. Wysocki
2008-12-07 13:39 ` [linux-pm] " Rafael J. Wysocki
2008-12-07 16:34 ` Linus Torvalds
2008-12-07 16:34 ` [linux-pm] " Linus Torvalds
2008-12-14 9:28 ` Pavel Machek
2008-12-14 9:28 ` [linux-pm] " Pavel Machek
2008-12-07 17:18 ` Arjan van de Ven
2008-12-07 17:18 ` Arjan van de Ven
2008-12-07 9:44 ` Takashi Iwai
2008-12-07 9:44 ` [linux-pm] " Takashi Iwai
2008-12-07 12:30 ` Rafael J. Wysocki
2008-12-07 6:00 ` Linus Torvalds
2008-12-06 23:25 ` Arjan van de Ven
2008-12-06 22:24 ` Linus Torvalds
2008-12-07 0:02 ` [linux-pm] " Alan Stern
2008-12-07 13:14 ` Rafael J. Wysocki
2008-12-07 13:14 ` [linux-pm] " Rafael J. Wysocki
2008-12-07 0:02 ` Alan Stern
2008-12-08 22:13 ` USB suspend and resume for PCI host controllers Alan Stern
2008-12-06 18:30 ` [PATCH 1/3] PCI: Rework default handling of suspend and resume Alan Stern
2008-12-06 21:09 ` Alan Cox
2008-12-06 21:09 ` Alan Cox
2008-12-06 21:50 ` Rafael J. Wysocki
2008-12-06 21:50 ` Rafael J. Wysocki
2008-12-06 17:33 ` Linus Torvalds
2008-12-06 17:07 ` Linus Torvalds
2008-12-06 14:07 ` [PATCH 2/3] PCI: Suspend and resume PCI Express ports with interrupts disabled Rafael J. Wysocki
2008-12-06 17:15 ` Linus Torvalds
2008-12-06 17:15 ` Linus Torvalds
2008-12-06 17:25 ` Rafael J. Wysocki
2008-12-06 17:25 ` Rafael J. Wysocki
2008-12-06 17:38 ` Linus Torvalds
2008-12-06 17:46 ` Rafael J. Wysocki
2008-12-07 2:18 ` Jesse Barnes
2008-12-07 12:53 ` Rafael J. Wysocki
2008-12-07 12:53 ` Rafael J. Wysocki
2008-12-07 2:18 ` Jesse Barnes
2008-12-06 17:46 ` Rafael J. Wysocki
2008-12-06 17:38 ` Linus Torvalds
2008-12-06 14:07 ` Rafael J. Wysocki
2008-12-06 14:09 ` [PATCH 3/3] Sound (HDA Intel): Restore PCI configuration space with interrupts off Rafael J. Wysocki
2008-12-07 4:45 ` Jesse Barnes
2008-12-07 4:45 ` Jesse Barnes
2008-12-07 9:47 ` Takashi Iwai
2008-12-07 9:47 ` Takashi Iwai
2008-12-11 7:07 ` Takashi Iwai
2008-12-11 20:03 ` Rafael J. Wysocki
2008-12-11 20:03 ` Rafael J. Wysocki
2008-12-11 20:27 ` Takashi Iwai
2008-12-11 20:38 ` Rafael J. Wysocki
2008-12-12 6:32 ` Takashi Iwai
2008-12-12 6:32 ` Takashi Iwai
2008-12-11 20:38 ` Rafael J. Wysocki
2008-12-11 20:27 ` Takashi Iwai
2008-12-11 7:07 ` Takashi Iwai
2008-12-06 14:09 ` Rafael J. Wysocki
2008-12-06 19:30 ` [PATCH 0/3] Fix hibernation regression on Toshiba Portege R500 Frans Pop
2008-12-06 19:30 ` Frans Pop
2008-12-06 14:05 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2008-12-02 7:53 Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected) Frans Pop
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=200812042309.11540.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=elendil@planet.nl \
--cc=greg@kroah.com \
--cc=jbarnes@virtuousgeek.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tiwai@suse.de \
--cc=torvalds@linux-foundation.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.