From: Michael Ellerman <michael@ellerman.id.au>
To: Brian King <brking@linux.vnet.ibm.com>
Cc: Michael Neuling <mikey@neuling.org>, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 1/1] powerpc: Ignore IPIs to offline CPUs
Date: Wed, 21 Apr 2010 23:35:29 +1000 [thread overview]
Message-ID: <1271856929.3832.46.camel@concordia> (raw)
In-Reply-To: <4BCE6DDC.4020902@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 1788 bytes --]
On Tue, 2010-04-20 at 22:15 -0500, Brian King wrote:
> On 04/20/2010 09:04 PM, Michael Neuling wrote:
> > In message <201004210154.o3L1sXaR001791@d01av04.pok.ibm.com> you wrote:
> >>
> >> Since there is nothing to stop an IPI from occurring to an
> >> offline CPU, rather than printing a warning to the logs,
> >> just ignore the IPI. This was seen while stress testing
> >> SMT enable/disable.
> >
> > This seems like a recipe for disaster. Do we at least need a
> > WARN_ON_ONCE?
>
> Actually we are only seeing it once per offlining of a CPU,
> and only once in a while.
>
> My guess is that once the CPU is marked offline fewer IPIs
> get sent to it since its no longer in the online mask.
Hmm, right. Once it's offline it shouldn't get _any_ IPIs, AFAICS.
> Perhaps we should be disabling IPIs to offline CPUs instead?
You mean not sending them? We do:
void smp_xics_message_pass(int target, int msg)
{
unsigned int i;
if (target < NR_CPUS) {
smp_xics_do_message(target, msg);
} else {
for_each_online_cpu(i) {
if (target == MSG_ALL_BUT_SELF
&& i == smp_processor_id())
continue;
smp_xics_do_message(i, msg);
}
}
}
So it does sound like the IPI was sent while the cpu was online (ie.
before pseries_cpu_disable(), but xics_migrate_irqs_away() has not
caused the IPI to be cancelled.
Problem is I don't think we can just ignore the IPI. The IPI might have
been sent for a smp_call_function() which is waiting for the result, in
which case if we ignore it the caller will block for ever.
I don't see how to fix it :/
cheers
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2010-04-21 13:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-21 1:54 [PATCH 1/1] powerpc: Ignore IPIs to offline CPUs Brian King
2010-04-21 2:04 ` Michael Neuling
2010-04-21 3:15 ` Brian King
2010-04-21 13:35 ` Michael Ellerman [this message]
2010-04-21 13:50 ` Brian King
2010-04-21 21:03 ` Michael Neuling
2010-04-21 22:15 ` Brian King
2010-04-21 22:49 ` Michael Neuling
2010-04-21 23:33 ` Brian King
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=1271856929.3832.46.camel@concordia \
--to=michael@ellerman.id.au \
--cc=brking@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mikey@neuling.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.