[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option |
Date: |
Fri, 23 Mar 2018 16:02:17 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 03/12/2018 08:11 AM, Igor Mammedov wrote:
I know you wrote this before softfreeze, but I'm only just now getting a
chance to review. ...[1]
This option allows pausing QEMU in the new RUN_STATE_PRECONFIG state,
allowing the configuration of QEMU from QMP before the machine jumps
into board initialization code of machine_run_board_init()
Intent is to allow management to query machine state and additionally
s/Intent/The intent/
configure it using previous query results within one QEMU instance
(i.e. eliminate need to start QEMU twice, 1st to query board specific
s/need/the need/
parameters and 2nd for actual VM start using query results for
additional parameters).
New option complements -S option and could be used with or without
s/New/The new/
it. Difference is that -S pauses QEMU when machine is completely
s/Difference/The difference/
s/when/when the/
build with all devices wired up and ready run (QEMU need only to
s/build/built/
s/ready/ready to/
unpause CPUs to let guest execute its code).
And "preconfig" option pauses QEMU early before board specific init
s/. And/; while the/
callback (machine_run_board_init) is executed and will allow to
configure machine parameters which will be used by board init code.
s/allow to configure/allow the configuration of/
When early introspection/configuration is done, command 'cont' should
be used to exit RUN_STATE_PRECONFIG and transition to the next
requested state (i.e. if -S is used then QEMU will pause the second
time when board/device initialization is completed or start guest
execution if -S isn't provided on CLI)
PS:
Initially 'preconfig' is planned to be used for configuring numa
topology depending on board specified possible cpus layout.
Signed-off-by: Igor Mammedov <address@hidden>
---
v4:
* Explain more on behaviour in commit message and use suggested
wording in message and patch (Eric Blake <address@hidden>)
Well, I'm still coming up with wording tweaks, but it is getting better ;)
---
include/sysemu/sysemu.h | 1 +
qapi/run-state.json | 5 ++++-
qemu-options.hx | 13 +++++++++++++
qmp.c | 5 +++++
vl.c | 35 ++++++++++++++++++++++++++++++++++-
5 files changed, 57 insertions(+), 2 deletions(-)
+++ b/qapi/run-state.json
@@ -49,12 +49,15 @@
# @colo: guest is paused to save/restore VM state under colo checkpoint,
# VM can not get into this state unless colo capability is enabled
# for migration. (since 2.8)
+# @preconfig: QEMU is paused before board specific init callback is executed.
+# The state is reachable only if -preconfig CLI option is used.
+# (Since 2.12)
[1]... So are you still trying to cram this in 2.12 as a bugfix? It
feels enough like a feature that at this point, you'll want to change
that to 2.13 on your v5 spin. (Probably a similar comment throughout
the series, so I'll only mention it this once).
s/if -preconfig/if the --preconfig/
spelling --preconfig with two dashes may make sense; we have a
bite-sized task that mentions that common options like -object/--object
should prefer the two-dash form, at which point consistency where all
our other options use the two-dash form may be worth doing. But even if
you stick with the one-dash form, inserting 'the' sounds better to a
native speaker.
##
{ 'enum': 'RunState',
'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused',
'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm',
'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
- 'guest-panicked', 'colo' ] }
+ 'guest-panicked', 'colo', 'preconfig' ] }
##
# @StatusInfo:
diff --git a/qemu-options.hx b/qemu-options.hx
index 6585058..7c8aaa5 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -3302,6 +3302,19 @@ STEXI
Run the emulation in single step mode.
ETEXI
+DEF("preconfig", 0, QEMU_OPTION_preconfig, \
+ "-preconfig pause QEMU before machine is initialized\n",
More places for two-dash spelling consideration.
+ QEMU_ARCH_ALL)
+STEXI
address@hidden -preconfig
address@hidden -preconfig
+Pause QEMU for interactive configuration before the machine is created,
+which allows querying and configuring properties that will affect
+machine initialization. Use the QMP command 'cont' to exit the preconfig
+state and move to the next state (ie. run guest if -S isn't used or
+pause the second time is -S is used).
s/is -S/if -S/
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
- Re: [Qemu-devel] [PATCH v4 2/9] numa: split out NumaOptions parsing into parse_NumaOptions(), (continued)
[Qemu-devel] [PATCH v4 4/9] hmp: disable monitor in preconfig state, Igor Mammedov, 2018/03/12
[Qemu-devel] [PATCH v4 1/9] numa: postpone options post-processing till machine_run_board_init(), Igor Mammedov, 2018/03/12
[Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Igor Mammedov, 2018/03/12
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option,
Eric Blake <=
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Eduardo Habkost, 2018/03/23
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Eduardo Habkost, 2018/03/23
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Igor Mammedov, 2018/03/27
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Igor Mammedov, 2018/03/28
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Eduardo Habkost, 2018/03/28
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Igor Mammedov, 2018/03/29
- Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Eduardo Habkost, 2018/03/29
Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Eduardo Habkost, 2018/03/28
Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Igor Mammedov, 2018/03/29
Re: [Qemu-devel] [PATCH v4 3/9] cli: add -preconfig option, Eduardo Habkost, 2018/03/29