Re: What should PCI core do during suspend-resume? (was: Re: 2.6.29-rc3: tg3 dead after resume)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Rafael J. Wysocki
Date: Saturday, January 31, 2009 - 4:08 pm

On Saturday 31 January 2009, Linus Torvalds wrote:

(As I wrote in the other message just sent) I wonder if it's a good idea to
introduce an "override default PCI suspend/resume" flag for this purpose.

The drivers that want to handle the PCI stuff themselves would be able to use
this flag to tell the core not to try to power manage the device etc.

Alternatively, the core may check the state_saved bit and look at current_state
to see if the device need not be put into a low power state.  Still, putting
the device into a low power state need not be desirable anyway.


It actually has been confirmed recently that this is a real issue.  Sadly.


OK, I see your point.


I know.  Still, all of the drivers that implement suspend-resume put the
devices into low power states in ->suspend and it's never been observed to
be a source of problems.

Unfortunately, on many systems we are supposed to use ACPI for putting PCI
devices into low power states and right now we can't do that with interrupts
off due to the limitations of our AML interpreter.

The same applies to resume, BTW, but resume is easier, because devices tend
to already be in D0 from the start.  Admittedly, though, we may have a problem
with devices that are not in D0 at that point and _require_ ACPI to power them
up (ie. don't support the native PCI PM).  Not that I know of any, but still.

ISTR that some devices will not wake up the system if they are not put into
the low power state by ACPI during suspend.

So, I wonder.  Do we need to make the AML interpreter allow us to run code
with interrupts off?


Yes, the bridges with drivers are somewhat special.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Wed Jan 28, 5:14 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Wed Jan 28, 6:09 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Wed Jan 28, 6:49 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Wed Jan 28, 7:10 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Matt Carlson, (Wed Jan 28, 7:19 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Matt Carlson, (Thu Jan 29, 11:42 am)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Thu Jan 29, 3:06 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Thu Jan 29, 3:22 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Matt Carlson, (Thu Jan 29, 3:22 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Thu Jan 29, 3:35 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Thu Jan 29, 4:03 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Thu Jan 29, 4:10 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Matt Carlson, (Thu Jan 29, 4:41 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Thu Jan 29, 5:10 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Matt Carlson, (Fri Jan 30, 11:40 am)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 3:31 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 3:36 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 3:50 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 3:54 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 4:06 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 4:07 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 4:13 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 4:31 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 4:33 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 4:45 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 4:51 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 4:57 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 4:59 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 5:07 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 5:28 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 5:34 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 5:38 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Ingo Molnar, (Fri Jan 30, 5:44 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 5:47 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 6:21 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Fri Jan 30, 6:37 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 6:41 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 6:42 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 6:46 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 6:54 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 7:19 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Jan 30, 7:25 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Fri Jan 30, 7:40 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Sat Jan 31, 11:51 am)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Sat Jan 31, 1:45 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Sat Jan 31, 2:08 pm)
What should PCI core do during suspend-resume? (was: Re: 2 ..., Rafael J. Wysocki, (Sat Jan 31, 2:42 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Sat Jan 31, 2:47 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Sat Jan 31, 3:46 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Sat Jan 31, 4:01 pm)
Re: What should PCI core do during suspend-resume? (was: R ..., Rafael J. Wysocki, (Sat Jan 31, 4:08 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Sat Jan 31, 5:11 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Sat Jan 31, 5:32 pm)
Re: What should PCI core do during suspend-resume? (was: R ..., Rafael J. Wysocki, (Sat Jan 31, 5:36 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Sat Jan 31, 5:41 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Sat Jan 31, 5:51 pm)
Re: What should PCI core do during suspend-resume? (was: R ..., Rafael J. Wysocki, (Sat Jan 31, 6:24 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Tue Feb 3, 2:29 am)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Tue Feb 3, 2:27 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Tue Feb 3, 3:15 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Parag Warudkar, (Tue Feb 3, 5:38 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Rafael J. Wysocki, (Tue Feb 3, 5:41 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Linus Torvalds, (Fri Feb 6, 8:00 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Benjamin Herrenschmidt, (Fri Feb 6, 8:26 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Benjamin Herrenschmidt, (Fri Feb 6, 8:27 pm)
Re: 2.6.29-rc3: tg3 dead after resume, Jesse Barnes, (Sat Feb 7, 11:03 am)