Invalid opcode on resume from STR on Asus P4P800-VM
Subsystems (2)
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).
What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP
8.003529 last sysfs file: /sys/power/state
8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16 bluetooth rfkill loop i2c_i801 snd_intel8x0 snd_ac97_codec shpchp ac97_bus parport_pc parportrng_core pci_hotplug snd_pcsp snd_pcm snd_timer snd soundcore psmouse snd_page_alloc serio_raw evdev processor ext3 jbd mbcache ide_gd_mod ata_generic libata scsi_modide_pci_generic i915 drm_kms_helper uhci_hcd drm i2c_algo_bit piix i2c_core ehci_hcd intel_agp e100 video ide_core mii floppy agpgart output usbcore nls_base button
thermal fan thermal_sys [last unloaded: scsi_wait_scan]
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6c [ 148.004265] EAX: c1336008 EBX: c1336008 ECX: 00000000 EDX: 00000000 [ 148.004265] ESI: 00000000 EDI: c1339000 EBP: 01642003 ESP: c1337fd0 [ 148.004265] DS: 0068 ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [ 148.004265] Process swapper (pid: 0, ti=c1336000 task=c1364ba0 task.ti=c1336000) [ 148.004265] Stack: [ 148.004265] c1396004 c1002388 4176f186 d147e8ee c13c61e8 00099800 c1399800 a05e3121 [ 148.004265] <0> 46258193 c13c61e8 00010800 00000000 [ 148.004265] Call Trace: [ 148.004265] [<c1002388>] ? cpu_idle+0x89/0xa5 [ 148.004265] [<c1399800>] ? start_kernel+0x30c/0x311 [ 148.004265] Code: 8b 15 50 e9 3e c1 f6 44 10 27 02 74 0f 89 e2 81 e2 00 e0 ff ff 8d 42 08 0f ae 7a 08 89 e3 31 c9 81 e3 00 e0 ff ff 89 ca 8d 43 08 <0f> 01 c8 0f ae f0 89 f6 f6 43 08 08 75 08 89 c8 fb 0f 01 c9 eb [ 148.004265] EIP: [<c1008ff3>] mwait_idle+0x4e/0x6c SS:ESP 0068:c1337fd0 [ 148.004265] ---[ end trace b2f32b48d4fa5394 ]--- [ 148.004265] Kernel panic - not syncing: Attempted to kill the idle task! [ 148.004265] Pid: 0, comm: swapper Tainted: G D 2.6.32-trunk-686 #1 [ 148.004265] Call Trace: [ 148.004265] [<c1259284>] ? panic+0x38/0xe4 [ 148.004265] [<c1033805>] ? do_exit+0x5a/0x5c6 [ 148.004265] [<c1259ee3>] ? printk+0xe/0x18 [ 148.004265] [<c100509d>] ? oops_end+0x98/0x9d [ 148.004265] [<c100424b>] ? do_invalid_op+0x0/0x75 [ 148.004265] [<c10042b7>] ? do_invalid_op+0x6c/0x75 [ 148.004265] [<c1008ff3>] ? mwait_idle+0x4e/0x6c [ 148.004265] [<c1001f10>] ? __switch_to+0xcf/0x141 [ 148.004265] [<c1046e9b>] ? hrtimer_get_next_event+0x8c/0xa0 [ 148.004265] [<c103b9da>] ? get_next_timer_interrupt+0x16f/0x1da [ 148.004265] [<c1007fd1>] ? sched_clock+0x5/0x7 [ 148.004265] [<c104829f>] ? sched_clock_local+0x15/0x11b [ 148.004265] [<c125af7b>] ? error_code+0x73/0x78 [ 148.004265] [<c1008ff3>] ? mwait_idle+0x4e/0x6c [ 148.004265] [<c1002388>] ? cpu_idle+0x89/0xa5 [ 148.004265] [<c1399800>] ? start_kernel+0x30c/0x311 [ 148.004265] [drm:drm_fb_helper_panic] *ERROR* panic occured, switching back to text console
Signature · 1 line
Ondrej Zary
Quoted 18 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16 bluetooth rfkill loop i2c_i801 snd_intel8x0 snd_ac97_codec shpchp ac97_bus
parport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]
Quoted 4 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6c
I had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
http://bugzilla.kernel.org/show_bug.cgi?id=15385
for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Alan Stern
Quoted 18 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16 bluetooth rfkill loop i2c_i801 snd_intel8x0 snd_ac97_codec shpchp ac97_bus
parport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]
Quoted 4 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6c
I had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
http://bugzilla.kernel.org/show_bug.cgi?id=15385
for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Alan Stern
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Thanks, it does not crash with "idle=halt" or "idle=poll". According to this:
http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled in IA32_MISC_ENABLES MSR. Kernel probably should enable it at boot and also on resume.
Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Signature · 1 line
Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Thanks, it does not crash with "idle=halt" or "idle=poll". According to this:
http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled in IA32_MISC_ENABLES MSR. Kernel probably should enable it at boot and also on resume.
Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Signature · 1 line
Ondrej Zary
Quoted 40 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to this:
http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume.
Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
Alan Stern
Quoted 40 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to this:
http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume.
Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
Alan Stern
Quoted 49 lines · Alan Stern
Quoted 40 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to this:
http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume.
Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Quoted 3 lines
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
It looks like idle=nomwait should be the workaround with the least impact at the moment..
Quoted 49 lines · Alan Stern
Quoted 40 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to this:
http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume.
Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Quoted 3 lines
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
It looks like idle=nomwait should be the workaround with the least impact at the moment..
Quoted 49 lines · On Tuesday 27 April 2010 03:07:35 Robert Hancock wrote:
Quoted 48 lines · Alan Stern
Quoted 46 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Thanks, it does not crash with "idle=halt" or "idle=poll". According to
this: http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume. Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Quoted 6 lines
Quoted 3 lines
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
It looks like idle=nomwait should be the workaround with the least impact at the moment..
It does not work for me.
Signature · 1 line
Ondrej Zary
Quoted 49 lines · On Tuesday 27 April 2010 03:07:35 Robert Hancock wrote:
Quoted 48 lines · Alan Stern
Quoted 46 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Thanks, it does not crash with "idle=halt" or "idle=poll". According to
this: http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume. Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Quoted 6 lines
Quoted 3 lines
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
It looks like idle=nomwait should be the workaround with the least impact at the moment..
It does not work for me.
Signature · 1 line
Ondrej Zary
Quoted 4 lines · Ondrej Zary
Quoted 2 lines
It looks like idle=nomwait should be the workaround with the least impact at the moment..
It does not work for me.
Not surpisingly, since mwait_usable() ignores the idle_nomwait flag. Maybe that's a bug and should be fixed -- I don't know.
Alan Stern
Quoted 4 lines · Ondrej Zary
Quoted 2 lines
It looks like idle=nomwait should be the workaround with the least impact at the moment..
It does not work for me.
Not surpisingly, since mwait_usable() ignores the idle_nomwait flag. Maybe that's a bug and should be fixed -- I don't know.
Alan Stern
Quoted 48 lines · On Monday 26 April 2010 22:34:35 Alan Stern wrote:
Quoted 40 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to
this: http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume. Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Quoted 3 lines
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
Here's a patch that fixes the problem. I don't know how many machines will it break...
arch/x86/include/asm/suspend_32.h +1 -0
@@ -15,6 +15,7 @@ static inline int arch_prepare_suspend(vstruct saved_context {u16 es, fs, gs, ss;unsigned long cr0, cr2, cr3, cr4; +unsigned long misc_enable;struct desc_ptr gdt;struct desc_ptr idt;u16 ldt;
arch/x86/include/asm/suspend_64.h +1 -0
@@ -27,6 +27,7 @@ struct saved_context {u16 ds, es, fs, gs, ss;unsigned long gs_base, gs_kernel_base, fs_base;unsigned long cr0, cr2, cr3, cr4, cr8; +unsigned long misc_enable;unsigned long efer;u16 gdt_pad;u16 gdt_limit;
arch/x86/power/cpu.c +2 -0
@@ -105,6 +105,7 @@ static void __save_processor_state(struc ctxt->cr4 =read_cr4 (); ctxt->cr8 =read_cr8 ();#endif +rdmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable); }/* Needed by apm.c */
@@ -152,6 +153,7 @@ static void fix_processor_context(void)*/ static void __restore_processor_state (struct saved_context *ctxt) { +wrmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable);/* * control registers */
Signature · 1 line
Ondrej Zary
Quoted 48 lines · On Monday 26 April 2010 22:34:35 Alan Stern wrote:
Quoted 40 lines · Ondrej Zary
Quoted 33 lines · On Monday 26 April 2010 21:17:27 Alan Stern wrote:
Quoted 21 lines · Ondrej Zary
Hello,
I'm trying to debug oops on resume from suspend-to-RAM on Asus P4P800-VM mainboard. It crashes with invalid opcode (see below). The kernel is 2.6.32-trunk from Debian but the same problem is present with vanilla kernels - both newer and older (but screen remains blank most of the time, only keyboard LEDs blink indicating an oops).What can cause this problem?
8.000339 invalid opcode: 0000 [#1] SMP 8.003529 last sysfs file: /sys/power/state 8.004265 Modules linked in: sco bridge stp bnep l2cacp crc16bluetooth rfkill loop
i2c_i801snd_intel8x0snd_ac97_codecshpchpac97_busparport_pcparportrng_corepci_hotplugsnd_pcspsnd_pcmsnd_timersnd soundcore psmousesnd_page_allocserio_rawevdev processor ext3 jbd mbcacheide_gd_modata_genericlibatascsi_modide_pci_generici915drm_kms_helperuhci_hcddrmi2c_algo_bitpiixi2c_coreehci_hcdintel_agpe100 videoide_coremii floppy agpgart output usbcorenls_basebutton
thermal fanthermal_sys[last unloaded:scsi_wait_scan]Quoted 5 lines
[ 148.004265] [ 148.004265] Pid: 0, comm: swapper Not tainted (2.6.32-trunk-686 #1) To Be Filled By O.E.M. [ 148.004265] EIP: 0060:[<c1008ff3>] EFLAGS: 00010086 CPU: 0 [ 148.004265] EIP is at mwait_idle+0x4e/0x6cI had exactly the same problem (on an HP computer with an Intel chipset). As far as anyone could figure out, it is caused by a bug in the BIOS. It's not entirely clear that this is the complete answer, but nothing else turned up. See
Quoted 5 lines
http://bugzilla.kernel.org/show_bug.cgi?id=15385for the complete record. The best solution I could find was to boot with "idle=halt" on the command line. You might check to see if any BIOS updates are available.
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to
this: http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume. Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654
Quoted 3 lines
That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
Here's a patch that fixes the problem. I don't know how many machines will it break...
arch/x86/include/asm/suspend_32.h +1 -0
@@ -15,6 +15,7 @@ static inline int arch_prepare_suspend(vstruct saved_context {u16 es, fs, gs, ss;unsigned long cr0, cr2, cr3, cr4; +unsigned long misc_enable;struct desc_ptr gdt;struct desc_ptr idt;u16 ldt;
arch/x86/include/asm/suspend_64.h +1 -0
@@ -27,6 +27,7 @@ struct saved_context {u16 ds, es, fs, gs, ss;unsigned long gs_base, gs_kernel_base, fs_base;unsigned long cr0, cr2, cr3, cr4, cr8; +unsigned long misc_enable;unsigned long efer;u16 gdt_pad;u16 gdt_limit;
arch/x86/power/cpu.c +2 -0
@@ -105,6 +105,7 @@ static void __save_processor_state(struc ctxt->cr4 =read_cr4 (); ctxt->cr8 =read_cr8 ();#endif +rdmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable); }/* Needed by apm.c */
@@ -152,6 +153,7 @@ static void fix_processor_context(void)*/ static void __restore_processor_state (struct saved_context *ctxt) { +wrmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable);/* * control registers */
Signature · 1 line
Ondrej Zary
Quoted 38 lines · Ondrej Zary
Here's a patch that fixes the problem. I don't know how many machines will it break...
diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_32.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_32.harch/x86/include/asm/suspend_32.h +1
-0@@ -15,6 +15,7 @@ static inline int arch_prepare_suspend(vstruct saved_context {u16 es, fs, gs, ss;unsigned long cr0, cr2, cr3, cr4; +unsigned long misc_enable;struct desc_ptr gdt;struct desc_ptr idt;u16 ldt;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_64.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_64.harch/x86/include/asm/suspend_64.h +1
-0@@ -27,6 +27,7 @@ struct saved_context {u16 ds, es, fs, gs, ss;unsigned long gs_base, gs_kernel_base, fs_base;unsigned long cr0, cr2, cr3, cr4, cr8; +unsigned long misc_enable;unsigned long efer;u16 gdt_pad;u16 gdt_limit;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/power/cpu.clinux-2.6.35-rc1-git2/arch/x86/power/cpu.carch/x86/power/cpu.c +1
-0@@ -105,6 +105,7 @@ static void __save_processor_state(struc ctxt->cr4 =read_cr4 (); ctxt->cr8 =read_cr8 ();#endif +rdmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable); }/* Needed by apm.c */
arch/x86/power/cpu.c static void fix_processor_context(void) · line 159
Quoted 7 lines
arch/x86/power/cpu.c +1
-0@@ -152,6 +153,7 @@ static void fix_processor_context(void)*/ static void __restore_processor_state (struct saved_context *ctxt) { +wrmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable);/* * control registers */
Great! I'll try it out early next week.
Alan Stern
Quoted 38 lines · Ondrej Zary
Here's a patch that fixes the problem. I don't know how many machines will it break...
diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_32.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_32.harch/x86/include/asm/suspend_32.h +1
-0@@ -15,6 +15,7 @@ static inline int arch_prepare_suspend(vstruct saved_context {u16 es, fs, gs, ss;unsigned long cr0, cr2, cr3, cr4; +unsigned long misc_enable;struct desc_ptr gdt;struct desc_ptr idt;u16 ldt;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_64.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_64.harch/x86/include/asm/suspend_64.h +1
-0@@ -27,6 +27,7 @@ struct saved_context {u16 ds, es, fs, gs, ss;unsigned long gs_base, gs_kernel_base, fs_base;unsigned long cr0, cr2, cr3, cr4, cr8; +unsigned long misc_enable;unsigned long efer;u16 gdt_pad;u16 gdt_limit;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/power/cpu.clinux-2.6.35-rc1-git2/arch/x86/power/cpu.carch/x86/power/cpu.c +1
-0@@ -105,6 +105,7 @@ static void __save_processor_state(struc ctxt->cr4 =read_cr4 (); ctxt->cr8 =read_cr8 ();#endif +rdmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable); }/* Needed by apm.c */
arch/x86/power/cpu.c static void fix_processor_context(void) · line 159
Quoted 7 lines
arch/x86/power/cpu.c +1
-0@@ -152,6 +153,7 @@ static void fix_processor_context(void)*/ static void __restore_processor_state (struct saved_context *ctxt) { +wrmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable);/* * control registers */
Great! I'll try it out early next week.
Alan Stern
Alan Stern
Tested-byQuoted 49 lines · Ondrej Zary
Quoted 10 lines
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to
this: http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume. Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
Here's a patch that fixes the problem. I don't know how many machines will it break...
diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_32.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_32.harch/x86/include/asm/suspend_32.h +1
-0@@ -15,6 +15,7 @@ static inline int arch_prepare_suspend(vstruct saved_context {u16 es, fs, gs, ss;unsigned long cr0, cr2, cr3, cr4; +unsigned long misc_enable;struct desc_ptr gdt;struct desc_ptr idt;u16 ldt;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_64.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_64.harch/x86/include/asm/suspend_64.h +1
-0@@ -27,6 +27,7 @@ struct saved_context {u16 ds, es, fs, gs, ss;unsigned long gs_base, gs_kernel_base, fs_base;unsigned long cr0, cr2, cr3, cr4, cr8; +unsigned long misc_enable;unsigned long efer;u16 gdt_pad;u16 gdt_limit;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/power/cpu.clinux-2.6.35-rc1-git2/arch/x86/power/cpu.carch/x86/power/cpu.c +1
-0@@ -105,6 +105,7 @@ static void __save_processor_state(struc ctxt->cr4 =read_cr4 (); ctxt->cr8 =read_cr8 ();#endif +rdmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable); }/* Needed by apm.c */
arch/x86/power/cpu.c static void fix_processor_context(void) · line 159
Quoted 7 lines
arch/x86/power/cpu.c +1
-0@@ -152,6 +153,7 @@ static void fix_processor_context(void)*/ static void __restore_processor_state (struct saved_context *ctxt) { +wrmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable);/* * control registers */
It fixes the problem on my machine! I say go ahead and submit it.
Alan Stern
Alan Stern
Tested-byQuoted 49 lines · Ondrej Zary
Quoted 10 lines
Quoted 6 lines
Thanks, it does not crash with "idle=halt" or "idle=poll". According to
this: http://siyobik.info/index.php?module=x86&id=215
the MWAIT instruction can be enabled/disabled inIA32_MISC_ENABLESMSR. Kernel probably should enable it at boot and also on resume. Here's some more info:
http://software.intel.com/en-us/forums/showthread.php?t=63654That could be the answer. Clearly this should be handled by the arch-specific boot/setup code. I don't know enough about it, but other people do.
Here's a patch that fixes the problem. I don't know how many machines will it break...
diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_32.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_32.harch/x86/include/asm/suspend_32.h +1
-0@@ -15,6 +15,7 @@ static inline int arch_prepare_suspend(vstruct saved_context {u16 es, fs, gs, ss;unsigned long cr0, cr2, cr3, cr4; +unsigned long misc_enable;struct desc_ptr gdt;struct desc_ptr idt;u16 ldt;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/include/asm/suspend_64.hlinux-2.6.35-rc1-git2/arch/x86/include/asm/suspend_64.harch/x86/include/asm/suspend_64.h +1
-0@@ -27,6 +27,7 @@ struct saved_context {u16 ds, es, fs, gs, ss;unsigned long gs_base, gs_kernel_base, fs_base;unsigned long cr0, cr2, cr3, cr4, cr8; +unsigned long misc_enable;unsigned long efer;u16 gdt_pad;u16 gdt_limit;diff -urp
linux-2.6.35-rc1-git2-orig/arch/x86/power/cpu.clinux-2.6.35-rc1-git2/arch/x86/power/cpu.carch/x86/power/cpu.c +1
-0@@ -105,6 +105,7 @@ static void __save_processor_state(struc ctxt->cr4 =read_cr4 (); ctxt->cr8 =read_cr8 ();#endif +rdmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable); }/* Needed by apm.c */
arch/x86/power/cpu.c static void fix_processor_context(void) · line 159
Quoted 7 lines
arch/x86/power/cpu.c +1
-0@@ -152,6 +153,7 @@ static void fix_processor_context(void)*/ static void __restore_processor_state (struct saved_context *ctxt) { +wrmsrl (MSR_IA32_MISC_ENABLE , ctxt->misc_enable);/* * control registers */
It fixes the problem on my machine! I say go ahead and submit it.
Alan Stern