public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nigel Cunningham <nigel@tuxonice.net>
To: Martin Steigerwald <Martin@lichtvoll.de>
Cc: linux-pm@lists.linux-foundation.org,
	LKML <linux-kernel@vger.kernel.org>,
	TuxOnIce-devel <tuxonice-devel@tuxonice.net>
Subject: Re: [TuxOnIce-devel] [linux-pm] [PATCH] Hibernate:  Implement readahead when resuming
Date: Sun, 26 Sep 2010 08:37:49 +1000	[thread overview]
Message-ID: <4C9E79BD.4030003@tuxonice.net> (raw)
In-Reply-To: <201009260011.04070.Martin@lichtvoll.de>

Hi.

On 26/09/10 08:10, Martin Steigerwald wrote:
> Hi Nigel.
>
> Am Samstag 25 September 2010 schrieb Nigel Cunningham:
>> On 26/09/10 05:58, Martin Steigerwald wrote:
>>> Am Samstag 25 September 2010 schrieb Martin Steigerwald:
>>>> Hi Nigel and Rafael,
>>>>
>>>> Am Samstag 25 September 2010 schrieb Nigel Cunningham:
>>>>> Add support for submitting reads before they're needed. This
>>>>> greatly improves the speed of resuming:
>>>>>
>>>>> From
>>>>>
>>>>> PM: Image read at 66 MB/s.
>>>>>
>>>>> to
>>>>>
>>>>> PM: Image read at 229 MB/s.
>>>>>
>>>>> ...and removes the need for the sync_read flag.
>>>>
>>>> So
>>>>
>>>> martin@shambhala:~/Computer/Shambhala/Kernel/2.6.36/tuxonice-head>
>>>> git branch -av | grep for-rafael
>>>> * for-rafael                      d4e7490 Hibernate: Implement
>>>> readahead when resuming
>>>>
>>>>     remotes/origin/for-rafael       d4e7490 Hibernate: Implement
>>>>
>>>> readahead when resuming
>>>
>>> [...]
>>>
>>>> basically seems to work.
>>>
>>> [...]
>>>
>>>> I tried 5 times:
>>>>
>>>> - one with just kdm started worked nicely and really rather fast!
>>>>
>>>> - four with a full blown KDE 4.5.1 session with OpenGL compositing
>>>>
>>>>     - one seemed to hang prior to reinitializing the Radeon KMS DRM
>>>>     setup - three other worked just fine
>>>>
>>>> I do not think that the hang is related to your changes, Nigel. The
>>>> kernel remained stuck at the lower initial resolution and didn't
>>>> seem to initialize the radeon KMS framebuffers at 1400x1050
>>>> properly. I didn't see this with 2.6.35 and userspace software
>>>> suspend.
>>>
>>> I am not so sure anymore.
>>>
>>> I got another one of these hangs with the 2.6.36-rc5 mentioned above.
>>> See IMG_3871.jpg for the exact display were it hung. I was able to
>>> switch view with Alt-F1 or something like that. And then got
>>> IMG_3873.jpg. But nothing happened anymore. Find these on:
>>>
>>> http://martin-steigerwald.de/tmp/tuxonice/hang-after-resume-with-pm-
>>> patches-for-rafael/
>>>
>>> I now tried in kernel suspend to disk with
>>>
>>> martin@shambhala:~>   cat /proc/version
>>> Linux version 2.6.35.5-tp42-vmembase-0-pm-avoid-oom-dirty
>>> (martin@shambhala) (gcc version 4.4.5 20100728 (prerelease) (Debian
>>> 4.4.4-8) ) #4 PREEMPT Sat Sep 25 13:29:53 CEST 2010
>>>
>>> which doesn't contain your patches, Nigel, for about 5 or 6 times and
>>> I did not see that hang.
>>>
>>> So maybe something in your patches, even if just the debug output I
>>> mentioned, or something in 2.6.36-rc5 triggers that hang.
>>>
>>> I will test 2.6.35.5 for a bit longer to make sure that there is no
>>> hang on resume prior to loading. I need to reboot this one now too,
>>> cause after one of the resume attempts USB stopped working with:
>>>
>>> Sep 25 21:36:47 shambhala kernel: usb 1-3: New USB device found,
>>> idVendor=1307, idProduct=0330
>>> Sep 25 21:36:47 shambhala kernel: usb 1-3: New USB device strings:
>>> Mfr=1, Product=2, SerialNumber=3
>>> Sep 25 21:36:47 shambhala kernel: usb 1-3: Product: Mass Storage
>>> Device Sep 25 21:36:47 shambhala kernel: usb 1-3: Manufacturer:
>>> Generic Sep 25 21:36:47 shambhala kernel: usb 1-3: SerialNumber:
>>> 00000000000006 Sep 25 21:36:47 shambhala kernel: scsi3 : usb-storage
>>> 1-3:1.0 Sep 25 21:36:48 shambhala kernel: BUG: unable to handle
>>> kernel NULL pointer dereference at 0000002c
>>> Sep 25 21:36:48 shambhala kernel: IP: [<c125b5de>]
>>> cfq_get_queue+0x33e/0x550
>>> Sep 25 21:36:48 shambhala kernel: *pde = 00000000
>>> Sep 25 21:36:48 shambhala kernel: Oops: 0000 [#1] PREEMPT
> [...]
>>> exited with preempt_count 1
>>>
>>> Maybe the USB system has an powermanagement related issue that in
>>> kernel suspend triggers more easily than userspace software suspend?
>>> I didn't see this one before. But well, this is a bug I will report
>>> in
>>> bugzilla.kernel.org.
>>>
>>> Ciao,
>>
>> Okay. Can you try without the last patch, and confirm that it's
>> reliable (albeit slower) then?
>
> Well as I told already (later on) the USB problem seems to be related to
> my testing of systemd in Debian - I do not get how this could be the case,
> but it works, when I remove init=/bin/systemd. I think I will report this
> as a kernel bug nonetheless, cause when I apply that "userspace shouldn't
> be able to let the kernel oops" paradigm then its a kernel bug.
>
> Should I test without the readahead patch regarding whether that hang
> after resume, prior to activating Radeon KMS framebuffer is fixed as well?

Yes, please. I only whipped up the readahead patch last night. Since 
it's single threaded, there's a lot less to go wrong compared to 
TuxOnIce, but it's still possible that there's some bug I haven't 
noticed yet. It would be good to be able to see it's definitely that patch.

> I am a bit unsure on what to test next. My current thoughts are:
>
> - Test whether 2.6.35.5 is stable with unpatched in kernel suspend.
> Currently in progress. Cause before that I only know its stable with
> userspace software suspend.
>
> - Apply your patches on top of 2.6.35.5 and test that.
>    - If that works, it appears to be a problem introduced by 2.6.36-rc5
>      - Then I'd possibly test 2.6.36-rc5 with unpatched in kernel suspend.
>    - If that doesn't work, it appears to be an issue with your patches
>      - Then I test without readahead patch.
>
> Tell me when you have any different suggestions.
>
> Ciao,

I'd start with 2.6.36-rc5 unpatched, and only fall back to 2.6.35 if 
that's unreliable.

Regards,

Nigel

  reply	other threads:[~2010-09-25 22:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-25 12:00 Nigel's current for-rafael queue - one more patch Nigel Cunningham
2010-09-25 12:00 ` [PATCH] Hibernate: Implement readahead when resuming Nigel Cunningham
2010-09-25 19:02   ` [linux-pm] " Martin Steigerwald
2010-09-25 19:58     ` Martin Steigerwald
2010-09-25 20:37       ` with init=/bin/systemd USB/eSATA external mass storage no longer works (was: Re: [linux-pm] [PATCH] Hibernate: Implement readahead when resuming) Martin Steigerwald
2010-09-25 21:24       ` [TuxOnIce-devel] [linux-pm] [PATCH] Hibernate: Implement readahead when resuming Nigel Cunningham
2010-09-25 22:10         ` Martin Steigerwald
2010-09-25 22:37           ` Nigel Cunningham [this message]
2010-09-28  8:06             ` Martin Steigerwald
2010-09-28  9:56               ` Martin Steigerwald
2010-09-28 11:09                 ` [linux-pm] [TuxOnIce-devel] " Bojan Smojver
2010-09-25 21:18     ` [linux-pm] " Nigel Cunningham
2010-10-04 17:58   ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C9E79BD.4030003@tuxonice.net \
    --to=nigel@tuxonice.net \
    --cc=Martin@lichtvoll.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=tuxonice-devel@tuxonice.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox