From: Igor Mammedov <imammedo@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
peter.maydell@linaro.org, pkrempa@redhat.com, cohuck@redhat.com,
qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
pbonzini@redhat.com, david@gibson.dropbear.id.au
Subject: Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP
Date: Fri, 27 Apr 2018 14:19:44 +0200 [thread overview]
Message-ID: <20180427141944.7c3288e2@redhat.com> (raw)
In-Reply-To: <318e4cfd-22ec-9cb1-a139-07e83a45ed8c@redhat.com>
On Thu, 26 Apr 2018 09:55:40 -0500
Eric Blake <eblake@redhat.com> wrote:
> On 04/26/2018 09:39 AM, Igor Mammedov wrote:
>
> >>> I'll try to come up with a text for qemu-doc.texi, not about
> >>> deprecating -S but about when --preconfig should be used vs -S
> >>> and where to get list of commands that could be used at preconfig state.
> >>
> >> Sounds good to me. Thanks!
> > how about something like this:
> >
> > diff --git a/qemu-tech.texi b/qemu-tech.texi
> > index 52a56ae..6951258 100644
> > --- a/qemu-tech.texi
> > +++ b/qemu-tech.texi
> > @@ -5,6 +5,7 @@
> > * CPU emulation::
> > * Translator Internals::
> > * QEMU compared to other emulators::
> > +* Managed start up options::
> > * Bibliography::
> > @end menu
> >
> > @@ -314,6 +315,44 @@ VirtualBox [9], Xen [10] and KVM [11] are based on QEMU. QEMU-SystemC
> > [12] uses QEMU to simulate a system where some hardware devices are
> > developed in SystemC.
> >
> > +@node Managed start up options
> > +@section Managed start up options
> > +
> > +In system mode emulation, it's possible to create VM in paused state using
> > +-S command line option. In this state the machine is completely initialized
> > +according to command line options and ready to execute VM code but VCPU threads
> > +are not executing any code. VM state in this paused state depends on way QEMU
> > +was started. It could be in:
> > +@table @asis
> > +@item initial state (after reset/power on state)
> > +@item with direct kernel loading initial state could be ammended to execute
>
> s/ammended/amended/
>
> > +code loaded by QEMU in VM's RAM and with incomming migration
>
> s/incomming/incoming/
>
> > +@item with incomming migrartion, initial state will by ammended by the migrated
>
> and again, for both words
> s/migrartion/migration/
>
> > +machine state after migration completes.
> > +@end table
> > +
> > +This paused state is typically used by users to query machine state and/or
> > +additionally configure machine (hotplug devices) in runtime before allowing
> > +VM code to run.
> > +
> > +However at -S pause point it's impossible to configure options that affect
> > +initial VM creation (like: -smp/-m/-numa ...) or cold plug devices. That's
> > +when -preconfig command line option should be used. It allows to pause
>
> s/to pause/pausing/
>
> > +QEMU before initial VM creation in preconfig state, query being created
> > +VM at runtime and configure start up options depending on previous query
>
> Reads awkwardly. Maybe:
>
> It allows pausing QEMU before the initial VM creation, in a new
> preconfig state, where additional queries and configuration can be
> performed via QMP before moving on to the resulting configuration startup.
>
> > +results. In preconfig state QEMU allows to configure VM only via QMP monitor
> > +with a limited command set which doesn't depend on completely initialized
> > +machine, which includes but not limited to:
>
> In the preconfig state, QEMU only allows a limited set of commands over
> the QMP monitor, where the commands do not depend on an initialized
> machine, including but not limited to:
thanks for review,
I amended patches as you suggested.
I plan to respin v6 today with these changes since exit-preconfig
affected several patches in series.
>
> > +@table @asis
> > +@item qmp_capabilities
> > +@item query-qmp-schema
> > +@item query-commands
> > +@item query-status
> > +@end table
> > +The full list of commands is in QMP schema which could be queried with
> > +query-qmp-schema, where commands supported at preconfig state have option
> > +'allowed-in-preconfig' set to true.
> > +
> > @node Bibliography
> > @section Bibliography
> >
>
> >> A separate command would have less room for ambiguity.
> > I've added following instead of reusing 'cont':
> >
> > ##
> > # @exit-preconfig:
>
> This should definitely be mentioned in the docs section of commands
> permitted during preconfig.
done
>
> > #
> > # Exit from "preconfig" state
> > #
> > # Since 2.13
> > #
> > # Returns: nothing
> > #
> > # Notes: Command makes QEMU exit from preconfig state and proceeds with
> > # VM initialization using configuration data provided on command line
> > # and via QMP monitor at preconfig state. Command is available only at
> > # preconfig state (i.e. if --preconfig command line option).
> > #
> > # Example:
> > #
> > # -> { "execute": "exit-preconfig" }
> > # <- { "return": {} }
> > #
> > ##
> > { 'command': 'exit-preconfig', 'allowed-in-preconfig': true }
> >
> >
>
next prev parent reply other threads:[~2018-04-27 12:19 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-12 13:11 [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP Igor Mammedov
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 1/9] numa: postpone options post-processing till machine_run_board_init() Igor Mammedov
2018-03-23 20:34 ` Eduardo Habkost
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 2/9] numa: split out NumaOptions parsing into parse_NumaOptions() Igor Mammedov
2018-03-23 20:42 ` Eduardo Habkost
2018-03-23 20:49 ` Eric Blake
2018-03-23 21:09 ` Eduardo Habkost
2018-03-26 8:38 ` Laurent Vivier
2018-03-26 14:33 ` Eric Blake
2018-03-27 13:08 ` Igor Mammedov
2018-03-28 18:54 ` Eduardo Habkost
2018-03-29 13:05 ` Igor Mammedov
2018-03-29 16:31 ` Eduardo Habkost
2018-04-03 13:55 ` Igor Mammedov
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option Igor Mammedov
2018-03-23 21:02 ` Eric Blake
2018-03-23 21:05 ` Eduardo Habkost
2018-03-23 21:25 ` Eduardo Habkost
2018-03-27 15:05 ` Igor Mammedov
2018-03-28 11:48 ` Igor Mammedov
2018-03-28 19:21 ` Eduardo Habkost
2018-03-29 11:43 ` Igor Mammedov
2018-03-29 16:24 ` Eduardo Habkost
2018-04-03 14:32 ` Igor Mammedov
2018-04-03 15:31 ` Eduardo Habkost
2018-04-04 8:51 ` Igor Mammedov
2018-03-28 19:17 ` Eduardo Habkost
2018-03-29 13:01 ` Igor Mammedov
2018-03-29 16:57 ` Eduardo Habkost
2018-04-03 10:41 ` Peter Krempa
2018-04-03 13:49 ` Igor Mammedov
2018-04-03 13:52 ` Eduardo Habkost
2018-04-30 19:12 ` Dr. David Alan Gilbert
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 4/9] hmp: disable monitor in preconfig state Igor Mammedov
2018-03-23 21:27 ` Eduardo Habkost
2018-03-28 11:16 ` Igor Mammedov
2018-03-28 18:55 ` Eduardo Habkost
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 5/9] qapi: introduce new cmd option "allowed-in-preconfig" Igor Mammedov
2018-03-23 21:11 ` Eric Blake
2018-03-28 15:23 ` Igor Mammedov
2018-03-23 21:28 ` Eduardo Habkost
2018-03-28 12:29 ` Igor Mammedov
2018-03-28 19:30 ` Eduardo Habkost
2018-03-29 9:53 ` Igor Mammedov
2018-03-29 12:21 ` Eduardo Habkost
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 6/9] tests: extend qmp test with preconfig checks Igor Mammedov
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 7/9] qmp: permit query-hotpluggable-cpus in preconfig state Igor Mammedov
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 8/9] qmp: add set-numa-node command Igor Mammedov
2018-03-12 13:11 ` [Qemu-devel] [PATCH v4 9/9] tests: functional tests for QMP command set-numa-node Igor Mammedov
2018-04-17 14:13 ` [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP Markus Armbruster
2018-04-17 14:27 ` Eduardo Habkost
2018-04-17 15:41 ` Igor Mammedov
2018-04-17 20:41 ` Eduardo Habkost
2018-04-18 7:08 ` Markus Armbruster
2018-04-19 8:00 ` Igor Mammedov
2018-04-19 19:42 ` Eduardo Habkost
2018-04-20 6:31 ` Markus Armbruster
2018-04-23 9:50 ` Igor Mammedov
2018-04-23 13:05 ` Eduardo Habkost
2018-04-23 16:55 ` Igor Mammedov
2018-04-23 20:45 ` Eduardo Habkost
2018-04-26 14:39 ` Igor Mammedov
2018-04-26 14:55 ` Eric Blake
2018-04-27 12:19 ` Igor Mammedov [this message]
2018-04-20 5:23 ` David Gibson
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=20180427141944.7c3288e2@redhat.com \
--to=imammedo@redhat.com \
--cc=armbru@redhat.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=pkrempa@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.