Re: 2.6.29-rc3: tg3 dead after resume

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Saturday, January 31, 2009 - 4:01 pm

On Sat, 31 Jan 2009, Rafael J. Wysocki wrote:

Rafael!

Read what I write. Twice.

Here it is again: "Imagine that you're a bridge."

Stop the idiocy of just ignoring what I write, and talking about something 
else.

Bridges are special.


It's possible. Still, it really shouldn't matter.

Or at least, it shouldn't matter, as long as what you restore is sane. 
You're just going to rewrite the same data, after all.

That's why I was trying to see if the IO/MEM bits got cleared in the save 
image for some reason.


The problem is that you're looking at some individual devices, and saying 
"it works for them, so it must work for everybody". Add to that the fact 
that you apparently _still_ haven't figured out the difference between 
bridges and regular devices, and that most most motherboards probably keep 
the PCI bridges powered anyway, and...

And yes, I realize that this is how PM under Linux has worked for a long 
time. But it's what I think we should get away from. It's why I pushed so 
hard to get the whole interrupt handling sane and stable. 

The argument that "it works for a lot of machines" IS NOT AN ARGUMENT, 
Rafael! Stop using it as such.

We know that 2.6.28 suspend/resume works for a lot of laptops. Even 
possibly _most_ laptops. But it was still broken. We want to get _away_ 
from that.


Read my emails. THIS ISN'T EVEN A RESUME-TIME PROBLEM!

The problems happen on purely the suspend path. How the f*ck do you know 
that the drivers behind the bridge don't do everything at 'suspend_late' 
time, and expect to be working up until that time?

Here's a big hint: YOU DO NOT KNOW. YOU MUST NOT TURN OFF THE BRIDGE AT 
SUSPEND TIME!

I'm getting really fed up with you here. You're not even listening. And 
you are _definitely_ not doing any "deep thinking" here.


So?

Irrelevant. We want to handle the exceptional case too. And we generally 
want to handle them _automatically, rather than by:


.. why? Wouldn't it be a hell of a lot nicer if the PCI layer just did 
things right automatically. 

Which the legacy layer already does. It sees "ok, the driver did it's own 
pci_save_state(), I'm not going to do it for it".

THAT is robust. And simple. Wouldn't you agree?

So why not do the same in the new one? Why do you want to make the new 
interfaces _inferior_ to the old ones?

			Linus
--
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)