From: Jamie Lokier <jamie@shareable.org>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Lai Jiangshan <eag0628@gmail.com>,
Jiangshan <laijs@cn.fujitsu.com>, Gleb Natapov <gleb@redhat.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
Avi Kivity <avi@redhat.com>,
kvm@vger.kernel.org, Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2/2 V7] qemu, qmp: add inject-nmi qmp command
Date: Tue, 3 May 2011 11:01:02 +0100 [thread overview]
Message-ID: <20110503100102.GJ5832@shareable.org> (raw)
In-Reply-To: <BANLkTi=GsDSj6ZaV=9ij6OMdTf6nCKgLvA@mail.gmail.com>
Blue Swirl wrote:
> On Fri, Apr 8, 2011 at 9:04 AM, Gleb Natapov <gleb@redhat.com> wrote:
> > On Thu, Apr 07, 2011 at 04:41:03PM -0500, Anthony Liguori wrote:
> >> On 04/07/2011 02:17 PM, Gleb Natapov wrote:
> >> >On Thu, Apr 07, 2011 at 10:04:00PM +0300, Blue Swirl wrote:
> >> >>On Thu, Apr 7, 2011 at 9:51 PM, Gleb Natapov<gleb@redhat.com> wrote:
> >> >>
> >> >>I'd prefer something more generic like these:
> >> >>raise /apic@fee00000:l1int
> >> >>lower /i44FX-pcihost/e1000@03.0/pinD
> >> >>
> >> >>The clumsier syntax shouldn't be a problem, since this would be a
> >> >>system developer tool.
> >> >>
> >> >>Some kind of IRQ registration would be needed for this to work without
> >> >>lots of changes.
> >> >True. The ability to trigger any interrupt line is very useful for
> >> >debugging. I often re-implement it during debug.
> >>
> >> And it's a good thing to have, but exposing this as the only API to
> >> do something as simple as generating a guest crash dump is not the
> >> friendliest thing in the world to do to users.
> >>
> > Well, this is not intended to be used by regular users directly and
> > management can provide nicer interface for issuing NMI. But really,
> > my point is that NMI actually generates guest core dump in such rare
> > cases (only preconfigured Windows guests) that it doesn't warrant to
> > name command as such. Management is in much better position to implement
> > functionality with such name since it knows what type of guest it runs
> > and can tell agent to configure guest accordingly.
>
> Does the management need to know about each and every debugging
> oriented interface? For example, "info regs", "info mem", "info irq"
> and tracepoints?
Linux uses NMI for performance tracing, profiling, watchdog etc. so in
practice, NMI is very similar to the other IRQs. I.e. highly guest
specific and depending on what's wired up to it. Injecting NMI to all
CPUs at once does not make any sense for those Linux guests.
For Windows crash dumps, I think it makes sense to have a "button
wired to NMI" device, rather than inject-nmi directly, but I can see
that inject-nmi solves the intended problem quite neatly.
For Linux crash dumps, for example, there are other key combinations,
as well as watchdog devices, that can be used to trigger them. A
virtual "button wired to GPIO/PCI-IRQ/etc." device might be quite
handy for debugging Linux guests, and would fit comfortably in a
management interface.
-- Jamie
next prev parent reply other threads:[~2011-05-03 10:01 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-07 9:43 [Qemu-devel] [PATCH 0/2 V7] add inject-nmi qmp command Lai Jiangshan
2011-03-07 9:45 ` [Qemu-devel] [PATCH 1/2] qemu,qmp: QError: New QERR_UNSUPPORTED Lai Jiangshan
2011-03-07 9:46 ` [Qemu-devel] [PATCH 2/2 V7] qemu,qmp: add inject-nmi qmp command Lai Jiangshan
2011-04-04 10:59 ` Daniel P. Berrange
2011-04-04 12:19 ` Markus Armbruster
2011-04-04 13:04 ` Luiz Capitulino
2011-04-04 13:09 ` Anthony Liguori
2011-04-04 13:34 ` Luiz Capitulino
2011-04-20 1:53 ` [Qemu-devel] [PATCH 2/2 V7] qemu, qmp: " Lai Jiangshan
2011-04-20 3:02 ` Lai Jiangshan
2011-04-25 15:00 ` Luiz Capitulino
2011-04-04 12:54 ` [Qemu-devel] [PATCH 2/2 V7] qemu,qmp: " Avi Kivity
2011-04-04 13:05 ` Anthony Liguori
2011-04-06 17:47 ` Luiz Capitulino
2011-04-06 18:03 ` Anthony Liguori
2011-04-06 18:08 ` Luiz Capitulino
2011-04-06 18:17 ` Jan Kiszka
2011-04-06 19:00 ` Luiz Capitulino
2011-04-06 19:27 ` Peter Maydell
2011-04-06 19:34 ` Anthony Liguori
2011-04-07 7:29 ` Jan Kiszka
2011-04-07 18:10 ` Peter Maydell
2011-04-07 18:32 ` Anthony Liguori
2011-04-07 18:51 ` Gleb Natapov
2011-04-07 19:04 ` Blue Swirl
2011-04-07 19:17 ` Gleb Natapov
2011-04-07 21:41 ` Anthony Liguori
2011-04-08 6:04 ` Gleb Natapov
2011-04-08 19:17 ` Blue Swirl
2011-04-08 19:32 ` Anthony Liguori
2011-04-08 20:07 ` Blue Swirl
2011-05-03 10:01 ` Jamie Lokier [this message]
2011-04-10 8:52 ` Avi Kivity
2011-04-11 7:01 ` Markus Armbruster
2011-04-11 17:15 ` [Qemu-devel] [PATCH 2/2 V7] qemu, qmp: " Blue Swirl
2011-04-12 7:52 ` Avi Kivity
2011-04-12 18:31 ` Blue Swirl
2011-04-13 13:08 ` Luiz Capitulino
2011-04-13 19:56 ` Blue Swirl
2011-04-14 6:41 ` Markus Armbruster
2011-04-14 9:55 ` Daniel P. Berrange
2011-04-15 16:37 ` Blue Swirl
2011-04-07 21:39 ` [Qemu-devel] [PATCH 2/2 V7] qemu,qmp: " Anthony Liguori
2011-04-08 5:54 ` Gleb Natapov
2011-05-03 9:54 ` [Qemu-devel] [PATCH 2/2 V7] qemu, qmp: " Jamie Lokier
2011-04-10 8:57 ` [Qemu-devel] [PATCH 2/2 V7] qemu,qmp: " Avi Kivity
2011-04-20 6:19 ` [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: " Lai Jiangshan
2011-04-21 3:23 ` Lai Jiangshan
2011-04-26 13:26 ` Luiz Capitulino
2011-04-26 13:29 ` Anthony Liguori
2011-04-27 1:54 ` Lai Jiangshan
2011-04-27 14:33 ` Luiz Capitulino
2011-04-28 3:35 ` [Qemu-devel] [PATCH 0/2 V9] hmp,qmp: add inject-nmi Lai Jiangshan
2011-04-29 22:24 ` Luiz Capitulino
2011-04-28 3:35 ` [Qemu-devel] [PATCH 1/2 V9] qemu, qmp: QError: New QERR_UNSUPPORTED Lai Jiangshan
2011-04-28 3:35 ` [Qemu-devel] [PATCH 2/2 V9] qmp, inject-nmi: convert do_inject_nmi() to QObject Lai Jiangshan
2011-04-25 17:07 ` [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: add inject-nmi qmp command Michael Roth
2011-04-20 6:19 ` [Qemu-devel] [RFC PATCH 1/3 V8] QError: Introduce QERR_UNSUPPORTED Lai Jiangshan
2011-04-20 6:19 ` [Qemu-devel] [RFC PATCH 2/3 V8] qapi, nmi: add inject-nmi qmp command Lai Jiangshan
2011-04-20 6:19 ` [Qemu-devel] [RFC PATCH 3/3 V8] qapi-hmp: Convert HMP nmi to use QMP Lai Jiangshan
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=20110503100102.GJ5832@shareable.org \
--to=jamie@shareable.org \
--cc=armbru@redhat.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=eag0628@gmail.com \
--cc=gleb@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=laijs@cn.fujitsu.com \
--cc=lcapitulino@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.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).