Re: Re: S4bios support for 2.5.63
From: Ken Hughes <hidden>
Date: 2003-03-06 07:42:26
On 2003.03.05 23:22 Ken Hughes wrote:
On Tue, 2003-03-04 at 12:39, Roger Luethi wrote:quoted
On Tue, 04 Mar 2003 11:06:50 +1300, Nigel Cunningham wrote:quoted
You were hitting the BUG_ON before swsusp was even trying to write the image?!! That is interesting! Since count_and_copy is first called post driver suspend in the current version, perhaps they are somehow related. (This is before swsusp tries to write any of the image to disk).Huh? After a glance at the code I agree that drivers_suspend happens before count_and_copy_data_pages, but that means hitting the BUG_ON in idedisk_suspend before the panic in count_and_copy_data_pages is what I'd expect. How is that remarkable? ... My current kernel has HIGHMEM enabled, but previous ones that failed the same way didn't.I was surprised because I thought you were getting the BUG_ON during writing the image. Now I see that it's well beforehand.quoted
Anyway, a few more tests showed that hdparm -u1 helps if I have lots of memory used (say for fs caches). In two out of two tests, I saw Pavel's request to send him 1 GB RAM via email.On this topic, would you be willing to test a 2.4 version that supported highmem? I haven't written support yet, but hope to do it shortly. (I don't have that much ram myself so you can send me 1GB if you prefer :>).quoted
Suspending directly from a clean boot (after issuing the same hdparm -u1 commands for both disks) I hit the BUG_ON in idedisk_suspend (two ut of two tests, too).
Not sure if this helps any, but I just tried S4 on my Toshiba Satellite 5105
under 2.5.64 (the first time I've been able to get 2.5.x to boot with any
ACPI support). From the root login I've been able to do
echo "4" >/proc/acpi/sleep
and get suspend/resume to work fine. I then tried it from X11R6 and got
the "kernel BUG at drivers/ide/ide-disk.c:1557!" error.
I tried debugging this a little and was surprised to find that I only get
this oops about half the time while running X: the other half this system
completes the suspend, and resume brings me right back where I left off
(which would be nice; this doesn't work under 2.4.20).
I also noticed that when the suspend works, the "freeing memory: ....."
messages prints out about 100 periods. The first 20 or so come slowly,
then it zips through most of the others. When it oops's, it prints out
about 15 or so periods before the panic. This seems similar to what Bert was
saying in an earlier message:
Sure, I get this too:
It now says (copied by hand):
freeing memory: .....................|
(this 'freeing' takes ages, around 30 seconds, while in progress, the disk
light blinks every once in a while, perhaps each time while a dot is being
printed)
syncing disks
suspending devicesFWIW, I have one hard drive and I'm using ext3 file systems. ---- Ken ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com