Suspend to disk causes kernel OOPS when swap partition is on SATA drive
I have an ASUS A8V with two SATA drives hooked to on board VIA Sata controller. The two drives (sda,sdb) are configured to form an ext2 (sda1 mounted as /boot), a swap (sdb1) and a RAID0 striped parition (sda2 and sdb2, mounted as root). I installed Suse Pro 9.3 with default kernel. When I do a suspend to disk ("powersave -U"), I got a Kernel oops. I don't think it's a hardware problem as I changed my SATA controller (Silicon Image and on-board Promise), changed power supply etc. and none worked. The strange thing is if I add a parallel ATA IDE drive and use a parition on that drive (hda1) as the SWAP then suspend works fine. To summarize, swsusp2 causes a kernel oops which happens only when the swap partition is on a SATA drive (I have sata_via module as the SATA driver). Have anyone seen this before? I may have to use a USB flash drive as the swap parition as using hda for swap is not an option for me. On the other hand I found suspend to RAM (powersave -u) will cause a complete freeze of machine when it's resumed and the first time the file system is accessed. ---------- begin Kernel oops message when suspend to disk ---- $ powersave -U stopping all tasks ... Writing data to swap (21475 pages), 0% ... <here the machines hangs for about 8 seconds before outputing the following oops stack, sorry I was not able to copy down all the oops messages> ,... <Stack trace 1>: {scsi_next_command+...} ... process events 10 (pid 3, threadinfo ffff810031c1e000 task ffff810003240720) <Stack trace 2>: ... {drain_array_locked + 118} <ffffffff8015b69c0> {cache_reap+106} <fff580142878> { worker_thread+424} ---------- end -----------------
ZhenLei Cai wrote:
I have an ASUS A8V with two SATA drives hooked to on board VIA Sata controller. The two drives (sda,sdb) are configured to form an ext2 (sda1 mounted as /boot), a swap (sdb1) and a RAID0 striped parition (sda2 and sdb2, mounted as root). I installed Suse Pro 9.3 with default kernel. When I do a suspend to disk ("powersave -U"), I got a Kernel oops. I don't think it's a hardware problem as I changed my SATA controller (Silicon Image and on-board Promise), changed power supply etc. and none worked. The strange thing is if I add a parallel ATA IDE drive and use a parition on that drive (hda1) as the SWAP then suspend works fine. To summarize, swsusp2 causes a kernel oops which happens only when the swap partition is on a SATA drive (I have sata_via module as the SATA driver). Have anyone seen this before? I may have to use a USB flash drive as the swap parition as using hda for swap is not an option for me. On the other hand I found suspend to RAM (powersave -u) will cause a complete freeze of machine when it's resumed and the first time the file system is accessed.
---------- begin Kernel oops message when suspend to disk ---- $ powersave -U stopping all tasks ... Writing data to swap (21475 pages), 0% ... <here the machines hangs for about 8 seconds before outputing the following oops stack, sorry I was not able to copy down all the oops messages> ,... <Stack trace 1>: {scsi_next_command+...} ... process events 10 (pid 3, threadinfo ffff810031c1e000 task ffff810003240720) <Stack trace 2>: ... {drain_array_locked + 118} <ffffffff8015b69c0> {cache_reap+106} <fff580142878> { worker_thread+424} ---------- end -----------------
I also have a via_sata disk and suspend to disk is working fine. First I got strange timeouts each second instead of the oops you see, however you definitely need these changes in your kernel (you find them in the kernel changelog - rpm -q --changelog kernel-*.rpm): * Mi Apr 27 2005 - axboe@suse.de - patches.drivers/libata-suspend: Fix bad hunk * Mi Apr 27 2005 - axboe@suse.de - patches.drivers/libata-suspend: Update * Mo Apr 25 2005 - axboe@suse.de - patches.drivers/libata-suspend: Fix software suspend with sata devices (77453). * Do Apr 21 2005 - axboe@suse.de - patches.fixes/libata-sata-sil-corruption: Fix SATA SIL data corruption issue. AFAIK there is no YOU update kernel for 9.3 including these changes, but you can try the kotd: ftp.suse.com/pub/people/mantel/kotd/9.3-*/SL93_BRANCH/kernel-* Thomas
participants (2)
-
Thomas Renninger
-
ZhenLei Cai