How to avoid 'lost interrupt' messages post-resume?
Hi all.
I have Software Suspend successfully running under 2.4.23 on a dual Celeron at OSDL, with only one outstanding issue: sometimes, after copying back the original kernel, I see 'hda: lost interrupt' and after another pause 'hdb:lost interrupt' messages. Apart from that, everything works fine (the machine has just suspended for the 46th time on the trot). I'm wanting to know if there's something I can do to fix this issue.
Currently, prior to suspending, I set all irq affinities to CPU 0 (which does the suspend), save the state of the APICs and disable them and disable interrupts. At resume time, I again set the affinities to CPU 0 and disable the APICs and interrupts prior to copying the original kernel back. After copying the original kernel back, I restore the original (pre-suspend) affinities and APIC settings & reenable interrupts (incomplete list). I'm no hardware expert, so feel free to tell me I'm doing something lame! Apart from these lost interrupts, all seems to work just fine.
Regards,
Nigel
Signature · 2 lines
My work on Software Suspend is graciously brought to you by LinuxFund.org.
Quoted 10 lines · Nigel Cunningham
Hi all.
I have Software Suspend successfully running under 2.4.23 on a dual Celeron at OSDL, with only one outstanding issue: sometimes, after copying back the original kernel, I see 'hda: lost interrupt' and after another pause 'hdb:lost interrupt' messages. Apart from that, everything works fine (the machine has just suspended for the 46th time on the trot). I'm wanting to know if there's something I can do to fix this issue.
Quoted 9 lines
Currently, prior to suspending, I set all irq affinities to CPU 0 (which does the suspend), save the state of the APICs and disable them and disable interrupts. At resume time, I again set the affinities to CPU 0 and disable the APICs and interrupts prior to copying the original kernel back. After copying the original kernel back, I restore the original (pre-suspend) affinities and APIC settings & reenable interrupts (incomplete list). I'm no hardware expert, so feel free to tell me I'm doing something lame! Apart from these lost interrupts, all seems to work just fine.
You probably had a pending IDE request or something like that... IDE in 2.4.x doesn't quite have the infrastructure to deal properly with suspend & resume...
Ben.
Thanks for the reply.
I'll look into that area some more.
Regards,
Nigel
Quoted 3 lines · Benjamin Herrenschmidt
You probably had a pending IDE request or something like that... IDE in 2.4.x doesn't quite have the infrastructure to deal properly with suspend & resume...
Signature · 2 lines
My work on Software Suspend is graciously brought to you by LinuxFund.org.
Quoted 3 lines · Nigel Cunningham
Thanks for the reply.
I'll look into that area some more.
Let me know what you find, I may be able to help you getting it right, though it' a bit difficult to do generically in 2.4
Ben.