public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Bjørn Mork" <bjorn@mork.no>
To: Borislav Petkov <bp@alien8.de>
Cc: paulmck@linux.vnet.ibm.com,
	"Paul E. McKenney" <paul.mckenney@linaro.org>,
	linux-kernel@vger.kernel.org, Borislav Petkov <bp@suse.de>,
	"Rafael J. Wysocki" <rjw@sisk.pl>
Subject: Re: Bisected post-3.9 regression: Resume takes 5 times as much time as with v3.9
Date: Sun, 12 May 2013 18:56:40 +0200	[thread overview]
Message-ID: <87ehdcuofr.fsf@nemi.mork.no> (raw)
In-Reply-To: <20130512162717.GA6305@pd.tnic> (Borislav Petkov's message of "Sun, 12 May 2013 18:27:17 +0200")

Borislav Petkov <bp@alien8.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.

Note that I did not test hibernation at all.  But based on your patch I
assume the issue is exactly the same.

> I don't think it matters for expediting RCU grace periods whether
> we had an error during resume or not and I'd basically want to set
> rcu_expedited to 0 unconditionally when resuming..

Yes, and I believe that's what PM_POST_HIBERNATION will achieve if I
read the docs correctly.  But I guess this should be sanity checked via
Rafael or someone else knowing how these notifiers work.


Bjørn

  reply	other threads:[~2013-05-12 16:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-11 18:04 Bisected post-3.9 regression: Resume takes 5 times as much time as with v3.9 Bjørn Mork
2013-05-12 11:31 ` Paul E. McKenney
2013-05-12 16:13   ` Bjørn Mork
2013-05-12 16:27     ` Borislav Petkov
2013-05-12 16:56       ` Bjørn Mork [this message]
2013-05-12 17:20         ` Borislav Petkov
2013-05-13 11:30           ` Rafael J. Wysocki
2013-05-13 12:00             ` [PATCH] hibernate: Correct documentation Borislav Petkov
2013-05-14  6:34               ` Rob Landley
2013-05-14  7:42                 ` Borislav Petkov
2013-05-14 10:38     ` Bisected post-3.9 regression: Resume takes 5 times as much time as with v3.9 Paul E. McKenney
2013-05-12 18:29   ` Joerg Roedel
2013-05-12 20:57     ` Paul E. McKenney
2013-05-12 21:34       ` Joerg Roedel
2013-05-13  1:35         ` Paul E. McKenney
2013-05-13  6:00           ` Joerg Roedel
2013-05-13 14:00           ` Paul E. McKenney
2013-05-14 17:37             ` Joerg Roedel
2013-05-14 17:49               ` Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ehdcuofr.fsf@nemi.mork.no \
    --to=bjorn@mork.no \
    --cc=bp@alien8.de \
    --cc=bp@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paul.mckenney@linaro.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rjw@sisk.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox