Re: [RFC][PATCH 2/3] PM: Make console suspending configureable

Laurent Riffard
2006-09-04T21:27:42Z

Le 04.09.2006 13:02, Pavel Machek a écrit :
> On Mon 2006-09-04 13:03:25, Rafael J. Wysocki wrote:
>> On Monday, 4 September 2006 11:08, Stefan Seyfried wrote:
>>> Hi,
>>>
>>> sorry, i am only slowly catching up after vacation.
>>>
>>> On Wed, Aug 16, 2006 at 01:09:34PM +0200, Rafael J. Wysocki wrote:
>>>> Change suspend_console() so that it waits for all consoles to flush the
>>>> remaining messages and make it possible to switch the console suspending
>>>> off with the help of a Kconfig option.
>>>>
>>>> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
>>>> +#ifndef CONFIG_DISABLE_CONSOLE_SUSPEND
>>>> /**
>>>> * suspend_console - suspend the console subsystem
>>>> *
>>>> @@ -709,8 +710,14 @@ int __init add_preferred_console(char *n
>>>> */
>>>> void suspend_console(void)
>>>> {
>>>> + printk("Suspending console(s)\n");
>>>> acquire_console_sem();
>>>> console_suspended = 1;
>>>> + /* This is needed so that all of the messages that have already been
>>>> + * written to all consoles can be actually transmitted (eg. over a
>>>> + * network) before we try to suspend the consoles' devices.
>>>> + */
>>>> + ssleep(2);
>>> Sorry, but no. Suspend and resume is already slow enough, no need to make
>>> both of them much slower.
>>> If we can condition this on the netconsole being used, ok, but not for the
>>> most common case of "console is on plain VGA".
>> Hm, it already is in -mm, but of course I can prepare a patch that removes
>> this ssleep().
>>
>> Pavel, what do you think?
>
> Well, in suspend-to-ram case, 2 seconds is quite a lot... like more
> than rest of suspend, so stefan has some point...

Rafael added this "ssleep 2" because of a bug I reported on LKML,
see the thread "2.6.18-rc4-mm1: eth0: trigger_send() called with
the transmitter busy"
(http://marc.theaimsgroup.com/?l=linux-kernel&m=115565636718377&w=2).

Basically, I was having issues when suspending with netconsole
on my Realtek RTL-8029 network card (ne2k-pci).

But further investigations revealed that this driver (ne2k-pci)
have issues with suspend/resume even when netconsole is disabled
(see http://bugzilla.kernel.org/show_bug.cgi?id=7082). These days,
I'm unable to do some tests with latest kernels because my ADSL
router is broken.

The point of this mail is that we should get rid of this "ssleep
2" since nobody else reported such an issue with netconsole and
the network driver I'm using appears to be not so clean.

~~
laurent