xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Keir Fraser <keir.xen@gmail.com>
To: Santosh Jodh <Santosh.Jodh@citrix.com>,
	Sander Eikelenboom <linux@eikelenboom.it>
Cc: "wei.wang2@amd.com" <wei.wang2@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: Using debug-key 'o:  Dump IOMMU p2m table, locks up machine
Date: Sun, 02 Sep 2012 08:19:40 +0100	[thread overview]
Message-ID: <CC68C71C.3D981%keir.xen@gmail.com> (raw)
In-Reply-To: <CC68C5A1.3D97A%keir.xen@gmail.com>

On 02/09/2012 08:13, "Keir Fraser" <keir.xen@gmail.com> wrote:

> On 02/09/2012 03:08, "Santosh Jodh" <Santosh.Jodh@citrix.com> wrote:
> 
>>>>> It might schedule softirqs but that won't include scheduling or
>>>>> running any guest vcpus. The vcpu that happens to be running on that
>>>>> cpu at the time the debug dump starts, will be stuck unrunnable until the
>>> dump completes.
>>>> 
>>>> Why does'nt that vCPU get scheduled on some other pCPU? Is there  a
>>>> way to yield the CPU from the key handler?
>>> 
>>> It can't be descheduled from this pCPU without running through the
>>> scheduler. You could try running the handler in a tasklet -- a tasklet
>>> causes
>>> other vCPUs to be descheduled from that pCPU, before it starts running.
>>> 
>>> So you'd register a keyhandler which does a tasklet_schedule(), and do your
>>> logging work in the tasklet handler.
>>> 
>>> Worth a shot maybe?
>> 
>> Yes - certainly. Is there a reason why all key handlers should not be
>> tasklets?
> 
> Some keys you want to print immediately (stack trace), or you are using them
> when the system is in a bad way, and deferring the tracing may cause you to
> get no tracing at all. There may be a few informational keys, for irqs and
> the like, that could be moved to tasklet context though, yes. It's just the
> tasklet-in-hypervisor-thread mechanism is newer than the key handlers. ;-)

Actually, ignore me, most keyhandlers are getting deferred to a tasklet
context already. At least when triggered from a serial irq. See
common/keyhandler.c:handle_keypress().

So your handler, when triggered by 'o' over the serial line, will be running
in tasklet context already. So vCPU execution is getting stalled just
because, I'm not sure, not running through the scheduler softirq for ages on
that pCPU is maybe confusing the scheduler? :(

 -- Ker

>  -- Keir
> 
> 

  reply	other threads:[~2012-09-02  7:19 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-31 21:45 Using debug-key 'o: Dump IOMMU p2m table, locks up machine Sander Eikelenboom
2012-08-31 22:24 ` Santosh Jodh
2012-08-31 22:42   ` Sander Eikelenboom
2012-08-31 22:57     ` Santosh Jodh
2012-08-31 23:16       ` Sander Eikelenboom
2012-08-31 23:58         ` Santosh Jodh
2012-09-01  0:42         ` Santosh Jodh
2012-09-03  8:14           ` Jan Beulich
2012-09-01  2:01         ` Keir Fraser
2012-09-01 17:03           ` Santosh Jodh
2012-09-01 19:13             ` Keir Fraser
2012-09-02  2:08               ` Santosh Jodh
2012-09-02  7:13                 ` Keir Fraser
2012-09-02  7:19                   ` Keir Fraser [this message]
2012-09-02  8:43               ` Sander Eikelenboom
2012-09-02 14:58                 ` Keir Fraser
2012-09-02 15:14                   ` Sander Eikelenboom
2012-09-03 15:20                     ` Wei Wang
2012-09-04  8:21                       ` Sander Eikelenboom
2012-09-04 16:43                       ` Sander Eikelenboom
2012-09-05 10:14                         ` Jan Beulich
2012-09-05 10:25                           ` Sander Eikelenboom
2012-09-05 10:40                             ` Jan Beulich
2012-09-05 10:48                               ` Sander Eikelenboom
2012-09-05 11:41                                 ` Jan Beulich
2012-09-05 12:11                                   ` Sander Eikelenboom
2012-09-05 14:15                               ` Wei Wang
2012-09-05 15:05                                 ` Jan Beulich
2012-09-05 12:48                             ` Wei Wang
2012-09-05 12:30                         ` Wei Wang
2012-09-03  8:21                 ` Jan Beulich
2012-09-03  8:33                   ` Sander Eikelenboom
2012-09-03  9:05                     ` Jan Beulich
2012-09-04  7:08                   ` Sander Eikelenboom
2012-09-04  7:46                     ` Jan Beulich
2012-09-04  8:13                       ` Sander Eikelenboom
2012-09-04  9:26                         ` Jan Beulich
2012-10-02 20:09                           ` Konrad Rzeszutek Wilk
2012-10-03 13:12                             ` Jan Beulich
2012-10-02 20:54                           ` Matt Wilson
2012-09-20  8:08                         ` Jan Beulich
2012-09-28 14:08                           ` Sander Eikelenboom
2012-09-28 21:26                           ` Jeremy Fitzhardinge
2012-10-02 20:08                             ` Konrad Rzeszutek Wilk
2012-09-02  7:42 ` Keir Fraser
2012-09-04  6:35   ` Jan Beulich
2012-09-04  6:52     ` Sander Eikelenboom
2012-09-04  7:01       ` Keir Fraser
2012-09-04  6:59     ` Keir Fraser
2012-09-04  7:55       ` Jan Beulich
2012-09-04  8:04         ` Keir Fraser
2012-09-04  8:11           ` Keir Fraser
2012-09-04  8:20             ` Sander Eikelenboom
2012-09-04  8:38             ` Jan Beulich
2012-09-04  8:54               ` Keir Fraser
2012-09-04  9:40                 ` Jan Beulich
2012-09-04 13:29                   ` Andrew Cooper

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=CC68C71C.3D981%keir.xen@gmail.com \
    --to=keir.xen@gmail.com \
    --cc=Santosh.Jodh@citrix.com \
    --cc=linux@eikelenboom.it \
    --cc=wei.wang2@amd.com \
    --cc=xen-devel@lists.xen.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).