[lkml]   [2008]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: "APIC error on CPU1: 00(40)" during resume (was: Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500)

On Wed, 10 Dec 2008, Matthew Garrett wrote:

> On Wed, Dec 10, 2008 at 08:26:37AM -0800, Linus Torvalds wrote:
> > So it looks like we don't reprogram the APIC -at-all- on secondary CPU's.
> >
> > What am I missing?
> We unplug all CPUs except the boot one at suspend time. Does the APIC
> get reprogrammed when they're replugged on resume?

Ahh, indeed. That ends up doing setup_local_APIC() in smp_callin().

I wonder if we should do that from apic_resume() too - instead of saving
any state we could probably just re-initialize it.

The setup_local_APIC() function also seems to be a lot more careful than
"resume_apic()" is about ordering (well, at least it has _comments_ on the
ordering), and it does things like ack'ing all pending irq's.



 \ /
  Last update: 2008-12-10 18:17    [W:0.117 / U:0.192 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site