[RFC] [Maverick] UBUNTU: SAUCE: pm: Config option to disable handling of console during suspend/resume

Leann Ogasawara leann.ogasawara at canonical.com
Wed Jun 16 19:51:05 UTC 2010


On Wed, 2010-06-16 at 20:46 +0100, Lee Jones wrote:
> Hi Leann,
> 
> I have found this option invaluable whilst working on suspend/resume bugs.
> 
> It should be disabled by default however.
> 
> Do you know why it is enabled in Phillip's kernel?

Hrm, it looked enabled by default to me:

ogasawara at emiko:~/ubuntu-maverick/debian.master/config$ grep -rn "CONFIG_PM_DISABLE_CONSOLE" *
config.common.ports:2627:CONFIG_PM_DISABLE_CONSOLE=y
config.common.ubuntu:3272:CONFIG_PM_DISABLE_CONSOLE=y

Thanks,
Leann

> On 16/06/10 20:42, Leann Ogasawara wrote:
> > Hi Amit,
> > 
> > We've got a bug report [1] from Phillip (CC'd) that when resuming from
> > suspend on Maverick his display never comes back out of power save mode
> > with the latest 2.6.35 Maverick kernels.  He tested yesterday's 2.6.35
> > daily mainline build and could not reproduce the issue.  He was able to
> > narrow it down to the CONFIG_PM_DISABLE_CONSOLE option being enabled.
> > This config option originates from an Ubuntu SAUCE patch (inlined below)
> > which was authored by yourself a few years ago.  Is it still necessary
> > that we carry this patch?  I'm inclined to drop it, or at least disable
> > the config option, especially since it appears to be causing issues.
> > Your thoughts? 
> > 
> > Thanks,
> > Leann
> > 
> > [1] https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/594885
> > 
> >>From 6063b4dc3721a63d70f81522fa130372ded60b45 Mon Sep 17 00:00:00 2001
> > From: Amit Kucheria <amit.kucheria at ubuntu.com>
> > Date: Fri, 23 May 2008 11:43:45 +0300
> > Subject: [PATCH] UBUNTU: SAUCE: pm: Config option to disable handling of console during suspend/resume
> > 
> > Signed-off-by: Amit Kucheria <amit.kucheria at ubuntu.com>
> > 
> > Signed-off-by: Ben Collins <ben.collins at canonical.com>
> > ---
> >  kernel/power/Kconfig   |   15 +++++++++++++++
> >  kernel/power/console.c |    4 ++++
> >  2 files changed, 19 insertions(+), 0 deletions(-)
> > 
> > diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
> > index 5c36ea9..e829331 100644
> > --- a/kernel/power/Kconfig
> > +++ b/kernel/power/Kconfig
> > @@ -133,6 +133,21 @@ config SUSPEND_FREEZER
> >  config HIBERNATION_NVS
> >  	bool
> >  
> > +config PM_DISABLE_CONSOLE
> > +	bool "Disable Power Management messing with the active console"
> > +	depends on PM
> > +	default n
> > +	---help---
> > +	  By default, PM will take over the active console (generally, this means
> > +	  switching to the console when suspending from X). This can at times cause
> > +	  problems, especially if userspace suspend scripts try to do things with
> > +	  the console before or after suspending (e.g. calling vbestate).
> > +
> > +	  To work around this, enable this option so that PM will not handle the
> > +	  console.
> > +
> > +	  If unsure, say N.
> > +
> >  config HIBERNATION
> >  	bool "Hibernation (aka 'suspend to disk')"
> >  	depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
> > diff --git a/kernel/power/console.c b/kernel/power/console.c
> > index 218e5af..5b254ba 100644
> > --- a/kernel/power/console.c
> > +++ b/kernel/power/console.c
> > @@ -17,19 +17,23 @@ static int orig_fgconsole, orig_kmsg;
> >  
> >  int pm_prepare_console(void)
> >  {
> > +#ifndef CONFIG_PM_DISABLE_CONSOLE
> >  	orig_fgconsole = vt_move_to_console(SUSPEND_CONSOLE, 1);
> >  	if (orig_fgconsole < 0)
> >  		return 1;
> >  
> >  	orig_kmsg = vt_kmsg_redirect(SUSPEND_CONSOLE);
> > +#endif
> >  	return 0;
> >  }
> >  
> >  void pm_restore_console(void)
> >  {
> > +#ifndef CONFIG_PM_DISABLE_CONSOLE
> >  	if (orig_fgconsole >= 0) {
> >  		vt_move_to_console(orig_fgconsole, 0);
> >  		vt_kmsg_redirect(orig_kmsg);
> >  	}
> > +#endif
> >  }
> >  #endif
> 
> 






More information about the kernel-team mailing list