lkml.org 
[lkml]   [2008]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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.

Hmm.

Linus


\
 
 \ /
  Last update: 2008-12-10 18:17    [from the cache]
©2003-2011 Jasper Spaans