lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 12 May 2013 19:20:58 +0200
From:	Borislav Petkov <bp@...en8.de>
To:	Bjørn Mork <bjorn@...k.no>
Cc:	paulmck@...ux.vnet.ibm.com,
	"Paul E. McKenney" <paul.mckenney@...aro.org>,
	linux-kernel@...r.kernel.org, Borislav Petkov <bp@...e.de>,
	"Rafael J. Wysocki" <rjw@...k.pl>
Subject: Re: Bisected post-3.9 regression: Resume takes 5 times as much time
 as with v3.9

On Sun, May 12, 2013 at 06:56:40PM +0200, Bjørn Mork wrote:
> Borislav Petkov <bp@...en8.de> writes:
> > On Sun, May 12, 2013 at 06:13:34PM +0200, Bjørn Mork wrote:
> >> diff --git a/kernel/rcutree.c b/kernel/rcutree.c
> >> index 6934238..2dcbf84 100644
> >> --- a/kernel/rcutree.c
> >> +++ b/kernel/rcutree.c
> >> @@ -3103,9 +3103,11 @@ static int rcu_pm_notify(struct notifier_block *self,
> >>  {
> >>  	switch (action) {
> >>  	case PM_HIBERNATION_PREPARE:
> >> +	case PM_SUSPEND_PREPARE:
> >>  		rcu_expedited = 1;
> >>  		break;
> >> -	case PM_POST_RESTORE:
> >> +	case PM_POST_HIBERNATION:
> >> +	case PM_POST_SUSPEND:
> >>  		rcu_expedited = 0;
> >>  		break;
> >>  	default:
> >
> > If I'm reading Documentation/power/notifiers.txt correctly, we only need
> > PM_HIBERNATION_PREPARE when we go to sleep (whatever hibernation method
> > we use) and PM_POST_HIBERNATION when we restore.
> 
> Well, that's not the way I read it. And testing also supports that.
> 
> Adding the above to your patch makes restore from suspend use < 3
> seconds again.  Using only PM_HIBERNATION_PREPARE had no effect on the
> restore from suspend time, still measured at around 15 seconds on my
> laptop.

Hmm, that could be because suspend.c does PM_SUSPEND_PREPARE and
hibernate.c does PM_HIBERNATION_PREPARE. So the statement

"PM_HIBERNATION_PREPARE  The system is going to hibernate or suspend,"

is wrong.

Hi Rafael, it seems to me that if we need to do something for both sleep
methods, we have different notifier states and we have to add them both
if we want to do stuff for both, correct?

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ