xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

  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).