From: "Lan, Tianyu" <tianyu.lan@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: sstabellini@kernel.org, wei.liu2@citrix.com,
George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com,
ian.jackson@eu.citrix.com,
xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Xen/timer: Disable watchdog during dumping timer queues
Date: Tue, 20 Sep 2016 22:52:27 +0800 [thread overview]
Message-ID: <d041ffe9-3c40-e83a-0df8-76b300e7937f@intel.com> (raw)
In-Reply-To: <57E01651020000780011024E@prv-mh.provo.novell.com>
On 9/19/2016 10:46 PM, Jan Beulich wrote:
>>> Well, without a clear understanding of why the issue occurs (for
>>> >> which I need to refer you back to the questionable stack dump)
>>> >> I'm hesitant to agree to this step, yet ...
>> >
>> > After some researches, I found do_invalid_op() on the stack dump is
>> > caused by run_in_exception_handler(__ns16550_poll) in the ns16550_poll()
>> > rather than fatal event. The timeout issue still exists when run
>> > __ns16550_poll() directly in the ns16550_poll().
> Well, I then still don't see why e.g. dump_domains() doesn't also need
> it.
After testing, dump_domains() also has such issue after I create two VM
with 128 vcpus.
> Earlier you did say:
>
> Keyhandler may run in the timer handler and the following log shows
> calltrace. The timer subsystem run all expired timers' handler
> before programing next timer event. If keyhandler runs longer than
> timeout, there will be no chance to configure timer before triggering
> watchdog and hypervisor rebooting.
>
> The fact that using debug keys may adversely affect the rest of the
> system is known. And the nesting of process_pending_softirqs()
> inside do_softirq() should, from looking at them, work fine. So I
> continue to have trouble seeing the specific reason for the problem
> you say you observe.
The precondition of process_pending_softirq() working in the debug key
handler is that timer interrupt arrives on time and nmi_timer_fn() can
run to update nmi_timer_ticks before watchdog timeout.
When a timer interrupt arrives, timer_softirq_action() will run all
expired timer handlers before programing next timer interrupt via
reprogram_timer(). If a timer handler runs too long E,G >5s(Time for
watchdog timeout is default to be 5s.), this will cause no timer
interrupt arriving within 5s and nmi_timer_fn() also won't be called.
Does this make sense to you?
> And as a separate note - dump_registers() is quite an exception
> among the key handlers, and that's for a good reason (as the
> comment there says). So I continue to be hesitant to see this
> spread to other key handlers.
>
> Jan
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-09-20 14:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-13 7:12 [PATCH] Xen/timer: Disable watchdog during dumping timer queues Lan Tianyu
[not found] ` <57D7DCC2020000780010E553@prv-mh.provo.novell.com>
[not found] ` <c7777159-7863-99fc-76ab-e8f4195286e1@intel.com>
2016-09-13 15:25 ` Jan Beulich
2016-09-15 14:16 ` Lan, Tianyu
2016-09-15 14:32 ` Jan Beulich
2016-09-19 13:57 ` Lan, Tianyu
2016-09-19 14:46 ` Jan Beulich
2016-09-20 14:52 ` Lan, Tianyu [this message]
2016-09-20 15:36 ` Jan Beulich
2016-09-21 1:54 ` Lan Tianyu
2016-09-21 9:25 ` Jan Beulich
2016-09-22 14:18 ` Lan Tianyu
2016-09-22 14:26 ` Jan Beulich
2016-09-22 15:04 ` Lan, Tianyu
2016-09-22 15:35 ` Jan Beulich
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=d041ffe9-3c40-e83a-0df8-76b300e7937f@intel.com \
--to=tianyu.lan@intel.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=sstabellini@kernel.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.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).