All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Borislav Petkov <bp@alien8.de>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>,
	tiwai@suse.de
Subject: Re: irq 16: nobody cared
Date: Sun, 21 Apr 2013 11:56:09 -0700	[thread overview]
Message-ID: <20130421185609.GD3509@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130421181035.GC4559@pd.tnic>

On Sun, Apr 21, 2013 at 08:10:35PM +0200, Borislav Petkov wrote:
> On Sun, Apr 21, 2013 at 06:56:54PM +0200, Borislav Petkov wrote:
> > Ok, let me try to disable the soundcard in the BIOS.
> 
> Ok, there's no warning message anymore but maybe a dozen of seconds
> delay before the machine is actually powered off.

That is not so good...

> "...
> ACPI: Preparing to enter system sleep state S5
> [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
> <a bunch of seconds of doing nothing>
> ...
> <machine powers off>"
> 
> So could it be that some RCU cleanup stuff is going on during that time?

CONFIG_RCU_FAST_NO_HZ will definitely change the timing, for example,
increasing grace-period durations by up to a factor of four.

One way to figure out if this is the problem would be to either (1) apply
the following patch (assuming you have no more than a few tens of CPUs)
or (2) setting the sysfs rcutree.rcu_expedited variable to 1 just before
suspending the system.

Either approach will force RCU to always use the faster expedited
grace periods for synchronize_rcu() and friends.  They will -not- help
if someone has open-coded synchronize_rcu() in terms of call_rcu(),
though.

> I mean, the issue is not that big of a deal - when the box resumes, the
> sound card works just fine so...

Fair point.  perhaps we should wait for Takashi to weigh in.

							Thanx, Paul

> Thanks.
> 
> -- 
> Regards/Gruss,
>     Boris.
> 
> Sent from a fat crate under my desk. Formatting is fine.
> --


------------------------------------------------------------------------

rcu: Not for inclusion: Force expedited grace periods

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index a9610d1..55c5ef6 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -2420,7 +2420,7 @@ void synchronize_sched(void)
 			   "Illegal synchronize_sched() in RCU-sched read-side critical section");
 	if (rcu_blocking_is_gp())
 		return;
-	if (rcu_expedited)
+	if (1)
 		synchronize_sched_expedited();
 	else
 		wait_rcu_gp(call_rcu_sched);
@@ -2447,7 +2447,7 @@ void synchronize_rcu_bh(void)
 			   "Illegal synchronize_rcu_bh() in RCU-bh read-side critical section");
 	if (rcu_blocking_is_gp())
 		return;
-	if (rcu_expedited)
+	if (1)
 		synchronize_rcu_bh_expedited();
 	else
 		wait_rcu_gp(call_rcu_bh);
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
index 46b93b0..190a199 100644
--- a/kernel/rcutree_plugin.h
+++ b/kernel/rcutree_plugin.h
@@ -711,7 +711,7 @@ void synchronize_rcu(void)
 			   "Illegal synchronize_rcu() in RCU read-side critical section");
 	if (!rcu_scheduler_active)
 		return;
-	if (rcu_expedited)
+	if (1)
 		synchronize_rcu_expedited();
 	else
 		wait_rcu_gp(call_rcu);


  reply	other threads:[~2013-04-21 18:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-20 18:53 irq 16: nobody cared Borislav Petkov
2013-04-20 23:52 ` Paul E. McKenney
2013-04-21 10:34   ` Borislav Petkov
2013-04-21 16:30     ` Paul E. McKenney
2013-04-21 16:56       ` Borislav Petkov
2013-04-21 18:10         ` Borislav Petkov
2013-04-21 18:56           ` Paul E. McKenney [this message]
2013-04-21 19:06             ` Borislav Petkov
2013-04-21 20:34               ` Paul E. McKenney
2013-04-21 20:51                 ` Borislav Petkov
2013-04-21 21:42                   ` Borislav Petkov
2013-04-21 22:00                     ` Paul E. McKenney
2013-04-21 22:12                       ` Borislav Petkov
2013-04-22  8:01                         ` Ingo Molnar
2013-04-22  9:18                           ` Borislav Petkov
2013-04-22 13:16                             ` Paul E. McKenney
2013-04-21 18:47         ` Paul E. McKenney
2013-04-22  8:32       ` Takashi Iwai
2013-04-22  9:13         ` Borislav Petkov
2013-04-22  9:19           ` Takashi Iwai
2013-04-22 10:06             ` Borislav Petkov
2013-04-22 11:33               ` Takashi Iwai
2013-04-22 13:56                 ` Borislav Petkov
2013-04-22 12:56             ` Thomas Gleixner
2013-04-22 14:23               ` Borislav Petkov
2013-04-22 14:44                 ` Paul E. McKenney
2013-04-22 21:33                   ` Borislav Petkov
2013-04-22 22:07                     ` Paul E. McKenney
2013-04-23 14:10                     ` Thomas Gleixner
2013-04-23 14:34                       ` Borislav Petkov
2013-04-23 15:01                       ` 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=20130421185609.GD3509@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tiwai@suse.de \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.