From: Igor Mammedov <imammedo@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
qemu-devel@nongnu.org, Peter Xu <peterx@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 4/6] hmp: Add info commands for preconfig
Date: Fri, 8 Jun 2018 11:30:29 +0200 [thread overview]
Message-ID: <20180608113029.31fd29aa@redhat.com> (raw)
In-Reply-To: <20180608081846.GB2671@work-vm>
On Fri, 8 Jun 2018 09:18:46 +0100
"Dr. David Alan Gilbert" <dgilbert@redhat.com> wrote:
> * Markus Armbruster (armbru@redhat.com) wrote:
> > "Dr. David Alan Gilbert" <dgilbert@redhat.com> writes:
> >
> > > * Markus Armbruster (armbru@redhat.com) wrote:
> > >> "Dr. David Alan Gilbert" <dgilbert@redhat.com> writes:
> > >>
> > >> > * Markus Armbruster (armbru@redhat.com) wrote:
> > >> >> Peter Xu <peterx@redhat.com> writes:
> > >> >>
> > >> >> > On Tue, Jun 05, 2018 at 01:26:34PM +0100, Dr. David Alan Gilbert (git) wrote:
> > >> >> >> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > >> >> >>
> > >> >> >> Allow a bunch of the info commands to be used in preconfig.
> > >> >> >> Could probably add most of them.
> > >> >> >
> > >> >> > I guess some of them may not work yet during preconfig. E.g.:
> > >> >> >
> > >> >> > $ ./x86_64-softmmu/qemu-system-x86_64 -preconfig -monitor stdio
> > >> >> > QEMU 2.12.50 monitor - type 'help' for more information
> > >> >> > (qemu) info mtree
> > >> >> > address-space: memory
> > >> >> > 0000000000000000-ffffffffffffffff (prio 0, i/o): system
> > >> >> >
> > >> >> > address-space: I/O
> > >> >> > 0000000000000000-000000000000ffff (prio 0, i/o): io
> > >> >> >
> > >> >> > But it's fine to enable that I guess.
> > >> >> >
> > >> >> > (Which "info" command would you want to use during preconfig?)
> > >> >> >
> > >> >> >>
> > >> >> >> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > >> >> >
> > >> >> > Reviewed-by: Peter Xu <peterx@redhat.com>
> > >> >>
> > >> >> The reason for having -preconfig is us despairing of making -S do the
> > >> >> right thing. We'd have to *understand* the tangled mess that is our
> > >> >> startup, and rearrange it so QMP becomes available early enough for
> > >> >> configuring NUMA (and other things), yet late enough for everything to
> > >> >> work.
> > >> >>
> > >> >> -preconfig is a cheap hack to avoid this headache, by bypassing almost
> > >> >> all of "everything".
> > >> >>
> > >> >> Now you bring back some of "everything". Dangerous. You better show it
> > >> >> actually works. Until you do:
> > >> >>
> > >> >> NAK
> > >> >
> > >> > Well I did test each command in here to make sure it didn't
> > >> > crash/produce complete junk; but here's the output with the v2 of this
> > >> > patch that Igor R-b:
> > >> [...]
> > >>
> > >> For the sake of the argument, let's assume these commands all work in
> > >> preconfig state. Are their QMP equivalents all available in preconfig
> > >> state?
> > >
> > > That I don't know; I was happy to fix my list to the ones
> > > Igor recommended. If you object to some particular entries I'll
> > > be happy to change them.
> >
> > HMP must not provide more functionality than QMP. Specifically, we may
> > provide "info FOO" only when we also provide query-FOO.
> >
> > There are exceptions to this rule. I don't think they apply here. I'm
> > prepared to discuss them, of course.
>
> No, that's strictly not true; HMP can provide anything that helps
> a human debug stuff. The requirement is that if a tool needs it then it
> must be provided in QMP.
>
> > I wish there was a way to automate "provide command in HMP when its
> > buddy is available in QMP", but since the buddies are only connected by
> > code, that seems infeasible.
> >
> > Without such automation, the two sets of available commands need to be
> > kept consistent manually. The larger they are, the more of a bother.
> >
> > Bother is fine when it provides commensurate value to users. Options in
> > increasing order of value provided:
> >
> > (1) HMP becomes ready only after we exit preconfig state (what I
> > proposed in Message-ID: <87603cxob9.fsf@dusky.pond.sub.org>.
> >
> > (2) HMP provides help, quit, exit-preconfig.
> >
> > (3) HMP provides (a subset of) the commands QMP provides.
> >
> > I figure the maintenance cost of (1) and (2) will be negligible, but (3)
> > could be a drag. Are you sure it's worthwhile?
>
>
> I'm not prepared to restrict to (2), and I'm not prepared to restrict
> HMP to a subset of QMP; As I said previously, if there's a command that
> you think is incorrect/broken that I've enabled then I'm happy to
> remove it.
I'd prefer #3 if we going to expose HMP at all or #1.
#3 would allow testing via HMP for those who can't use qmp-shell.
we can trim HMP list to allowed-preconfig commands or audit respective
QMP variants (they should work without changes) and flag them with
allowed-preconfig.
>
> Dave
>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
next prev parent reply other threads:[~2018-06-08 9:30 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-05 12:26 [Qemu-devel] [PATCH 0/6] Reenable hmp for preconfig mode Dr. David Alan Gilbert (git)
2018-06-05 12:26 ` [Qemu-devel] [PATCH 1/6] hmp: Add flag for preconfig commands Dr. David Alan Gilbert (git)
2018-06-07 8:50 ` Peter Xu
2018-06-07 12:14 ` Markus Armbruster
2018-06-07 12:18 ` Dr. David Alan Gilbert
2018-06-05 12:26 ` [Qemu-devel] [PATCH 2/6] hmp: Allow help on " Dr. David Alan Gilbert (git)
2018-06-07 8:51 ` Peter Xu
2018-06-05 12:26 ` [Qemu-devel] [PATCH 3/6] hmp: Restrict auto-complete in preconfig Dr. David Alan Gilbert (git)
2018-06-07 8:52 ` Peter Xu
2018-06-05 12:26 ` [Qemu-devel] [PATCH 4/6] hmp: Add info commands for preconfig Dr. David Alan Gilbert (git)
2018-06-07 8:49 ` Peter Xu
2018-06-07 12:22 ` Markus Armbruster
2018-06-07 13:45 ` Dr. David Alan Gilbert
2018-06-07 15:12 ` Markus Armbruster
2018-06-07 15:28 ` Dr. David Alan Gilbert
2018-06-08 5:56 ` Markus Armbruster
2018-06-08 8:18 ` Dr. David Alan Gilbert
2018-06-08 9:30 ` Igor Mammedov [this message]
2018-06-08 16:51 ` Markus Armbruster
2018-06-08 17:18 ` Dr. David Alan Gilbert
2018-06-07 15:08 ` Igor Mammedov
2018-06-08 5:41 ` Markus Armbruster
2018-06-07 9:39 ` Igor Mammedov
2018-06-05 12:26 ` [Qemu-devel] [PATCH 5/6] hmp: add exit_preconfig Dr. David Alan Gilbert (git)
2018-06-07 8:53 ` Peter Xu
2018-06-05 12:26 ` [Qemu-devel] [PATCH 6/6] hmp: Allow HMP in preconfig state again Dr. David Alan Gilbert (git)
2018-06-07 8:56 ` Peter Xu
2018-06-07 8:54 ` [Qemu-devel] [PATCH 0/6] Reenable hmp for preconfig mode Peter Xu
2018-06-07 9:00 ` Dr. David Alan Gilbert
2018-06-07 9:05 ` Peter Xu
2018-06-07 9:45 ` Igor Mammedov
2018-06-07 10:02 ` Peter Xu
2018-06-07 9:48 ` Igor Mammedov
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=20180608113029.31fd29aa@redhat.com \
--to=imammedo@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=peterx@redhat.com \
--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 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.