From: Don Zickus <dzickus@redhat.com>
To: Feng Tang <feng.tang@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH]x86, reboot: Fix a warning message triggered by stop_other_cpus()
Date: Tue, 22 May 2012 09:33:56 -0400 [thread overview]
Message-ID: <20120522133356.GW32472@redhat.com> (raw)
In-Reply-To: <20120522105233.725be041@feng-i7>
On Tue, May 22, 2012 at 10:52:33AM +0800, Feng Tang wrote:
>
> The root cause seems to be the default_send_IPI_mask_allbutself_phys()
> takes quiet some time (I measured it could be several ms) to complete
> sending NMIs to all the other 23 CPUs, and for HZ=250/1000 system, the
I sent Ingo a patch (which he took in), that reverts this path to interrupts
again (and NMIs as a fallback if it fails). The problem will still exist
I assume though I don't know if it changes the timing characteristics.
> time is long enough for a timer interrupt to happen, which will in
> turn trigger to kick load balance to a stopped CPU and cause this
> warning in native_smp_send_reschedule().
>
> So disabling the local irq before stop_other_cpu() can fix this
> problem (tested 25 times reboot ok), and it is fine as there should
> be nobody caring the timer interrupt in such reboot stage.
It seems to be fine. I just do not know enough about the load balancing
the timer interrupt does to know if this is the right way to go or not.
So from the shutdown cpu perspective, you are just blocking the interrupt
from occurring while we shutdown the other cpus, which prevents the load
balancer from running and seeing cpus disappear beneath it. Sounds
reasonable.
Though on the other hand the same interrupt on another cpu might spit out
the same warning as cpus disappear without notification if it tries to
reschedule. Probably rare and the window is probably small as the cpus
would probably all 'stop' rather quickly.
I don't know. I guess it is ok.
Cheers,
Don
next prev parent reply other threads:[~2012-05-22 13:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-22 2:52 [PATCH]x86, reboot: Fix a warning message triggered by stop_other_cpus() Feng Tang
2012-05-22 13:33 ` Don Zickus [this message]
2012-05-28 1:22 ` Feng Tang
2012-05-30 8:51 ` Ingo Molnar
2012-05-30 15:15 ` Feng Tang
2012-06-06 15:19 ` [tip:x86/urgent] x86/reboot: " tip-bot for Feng Tang
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=20120522133356.GW32472@redhat.com \
--to=dzickus@redhat.com \
--cc=feng.tang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).