Re: [PATCH] PM: invoke suspend notifications after console switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 2008-01-10 14:14:36, Johannes Berg wrote:
> 
> On Mon, 2007-12-17 at 02:09 +0100, Johannes Berg wrote:
> > A subsequent patch will enable apm-emulation notification for suspends
> > triggered in any way by using the suspend notifications. This causes
> > the system to lock up between X being needed to switch away from the
> > VT and X already waiting for resume in the apm ioctl.
> > 
> > This patch moves the console switch (if enabled) before the suspend
> > notification (and after the resume notification) to avoid this issue.
> 
> I don't see this in the suspend git tree yet, anything wrong with it?

Its pretty intrusive I'd say. And it is wrong; we'd prefer userspace
to know what we are doing; if they are told we are suspending,
userspace may be able to do something more clever than long console
switch.

I'd prefer this not to go into mainline.
							Pavel

> > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
> > ---
> >  kernel/power/main.c |    8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > --- everything.orig/kernel/power/main.c	2007-12-17 01:52:29.617085178 +0100
> > +++ everything/kernel/power/main.c	2007-12-17 01:53:23.547064887 +0100
> > @@ -73,12 +73,12 @@ static int suspend_prepare(void)
> >  	if (!suspend_ops || !suspend_ops->enter)
> >  		return -EPERM;
> >  
> > +	pm_prepare_console();
> > +
> >  	error = pm_notifier_call_chain(PM_SUSPEND_PREPARE);
> >  	if (error)
> >  		goto Finish;
> >  
> > -	pm_prepare_console();
> > -
> >  	if (suspend_freeze_processes()) {
> >  		error = -EAGAIN;
> >  		goto Thaw;
> > @@ -98,9 +98,9 @@ static int suspend_prepare(void)
> >  
> >   Thaw:
> >  	suspend_thaw_processes();
> > -	pm_restore_console();
> >   Finish:
> >  	pm_notifier_call_chain(PM_POST_SUSPEND);
> > +	pm_restore_console();
> >  	return error;
> >  }
> >  
> > @@ -192,8 +192,8 @@ int suspend_devices_and_enter(suspend_st
> >  static void suspend_finish(void)
> >  {
> >  	suspend_thaw_processes();
> > -	pm_restore_console();
> >  	pm_notifier_call_chain(PM_POST_SUSPEND);
> > +	pm_restore_console();
> >  }
> >  
> > 
> > 
> > 
> > _______________________________________________
> > linux-pm mailing list
> > linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
> > https://lists.linux-foundation.org/mailman/listinfo/linux-pm
> > 



> _______________________________________________
> linux-pm mailing list
> linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linux-foundation.org/mailman/listinfo/linux-pm

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux