All of lore.kernel.org
 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: Sat, 01 Sep 2012 20:13:17 +0100	[thread overview]
Message-ID: <CC681CDD.3D966%keir.xen@gmail.com> (raw)
In-Reply-To: <7914B38A4445B34AA16EB9F1352942F1012F0F6F4B98@SJCPMAILBOX01.citrite.net>

On 01/09/2012 18:03, "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?

>> 
>> Well, anyway, I don't know how useful a massive dump of the entire p2m is
>> going to be for debugging anyway. If investigating an IOMMU page fault, I'd
>> just want the info pertaining to that fault, and all the mapping information
>> for
>> that IO virtual address, dumped. :)
> 
> It is not a generically useful command - its usefulness is in the same
> category as dumping the MMU table. Unfortunately, there is no way to pass
> arguments to the key handler - to say provide the VM and or starting gfn and
> length for a more selective output.

Quite simply, there likely needs to be more tracing on the IOMMU fault path.
That's a separate concern from your keyhandler of course, but just saying
I'd be looking for the former rather than the latter, for diagnosing
Sander's bug.

 -- Keir

  reply	other threads:[~2012-09-01 19:13 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 [this message]
2012-09-02  2:08               ` Santosh Jodh
2012-09-02  7:13                 ` Keir Fraser
2012-09-02  7:19                   ` Keir Fraser
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=CC681CDD.3D966%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 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.