Re: [PATCH 0/4] PM: Do not destroy/create devices while suspended (rev. 2)

Rafael J. Wysocki
2008-01-02T13:26:24Z

On Wednesday, 2 of January 2008, Ingo Molnar wrote:
>
> (David Brownell Cc:-ed too)
>
> * Rafael J. Wysocki <rjw@sisk.pl> wrote:
>
> > Well, we have the following test script in the userland suspend
> > package that is supposed to work right now:
> >
> > #!/bin/bash
> > date
> > cd /sys/class/rtc/rtc0
> > echo $(( $(cat since_epoch) + 20 )) > wakealarm
> > s2ram
> > date
> >
> > provided that the new rtc driver code is compiled (and the old one is not).
>
> ok, will try that. A stupid question. The old RTC driver is in
> drivers/char/rtc.c, and maps to:
>
> crw-r--r-- 1 root root 10, 135 Oct 25 18:02 /dev/rtc
>
> the new driver is in drivers/rtc/*, and maps to:
>
> crw-r--r-- 1 root root 254, 0 Dec 12 02:30 /dev/rtc0
>
> but all the x86 distro boxes i have access to make use of /dev/rtc.
> There's no symlink set up from /dev/rtc to /dev/rtc0 either. So it
> appears to me that the new RTC driver isnt actually utilized on most
> distributions.

I think so.

> shouldnt we provide a Kconfig way of replacing dev 10:135 with the new
> driver's 254:0 device? (while keeping all the current modes of operation
> as well, of course.) It's all supposed to be 100% ioctl ABI compatible
> with the old driver, right? That way distros could start migrating to it
> as well, without depending on any udev hackery.

Question for Dave. ;-)

> > > That way any suspend breakage would be detectable (and bisectable)
> > > in automated testing - if the resume does not come back after 10-20
> > > seconds then the test failed.
> >
> > Yes, but please note that some systems require user space
> > manipulations of the graphics adapter for suspend to work and to
> > detect a breakage of such a system you need to boot it into X and use
> > s2ram to suspend.
>
> yeah, i wouldnt expect graphics mode to come back without quirks. But it
> should still work fine over the network, right? (which is my main mode
> of testing anyway)

Well, if the graphics is sufficiently broken, it won't resume at all.

The "echo core > /sys/power/pm_test && echo mem > /sys/power/state" thing
should always work, though (IOW, if this doesn't work, we cartainly have a
bug).

Rafael