[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option |
Date: |
Fri, 20 Oct 2017 13:38:12 -0200 |
User-agent: |
Mutt/1.9.0 (2017-09-02) |
On Mon, Oct 16, 2017 at 05:35:15PM +0100, Daniel P. Berrange wrote:
> On Mon, Oct 16, 2017 at 06:22:54PM +0200, Igor Mammedov wrote:
>
> This really needs to have a commit message that provides justification
> for why this option is needed when we already have -S that is used
> to allow configuration before the guest starts.
>
> > Signed-off-by: Igor Mammedov <address@hidden>
> > ---
> > include/sysemu/sysemu.h | 1 +
> > qemu-options.hx | 15 ++++++++++++++
> > qmp.c | 5 +++++
> > vl.c | 54
> > ++++++++++++++++++++++++++++++++++++++++++++++++-
> > 4 files changed, 74 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> > index b213696..3feb94f 100644
> > --- a/include/sysemu/sysemu.h
> > +++ b/include/sysemu/sysemu.h
> > @@ -66,6 +66,7 @@ typedef enum WakeupReason {
> > QEMU_WAKEUP_REASON_OTHER,
> > } WakeupReason;
> >
> > +void qemu_exit_preconfig_request(void);
> > void qemu_system_reset_request(ShutdownCause reason);
> > void qemu_system_suspend_request(void);
> > void qemu_register_suspend_notifier(Notifier *notifier);
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index 39225ae..bd44db8 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -3498,6 +3498,21 @@ STEXI
> > Run the emulation in single step mode.
> > ETEXI
> >
> > +DEF("paused", HAS_ARG, QEMU_OPTION_paused, \
> > + "-paused [state=]postconf|preconf\n"
> > + " postconf: pause QEMU after machine is initialized\n"
> > + " preconf: pause QEMU before machine is initialized\n",
> > + QEMU_ARCH_ALL)
> > +STEXI
> > address@hidden -paused
> > address@hidden -paused
> > +if set enabled interactive configuration stages before machine emulation
> > starts.
> > +'postconf' option value mimics -S option behaviour where machine is created
> > +but emulation isn't started. 'preconf' option value pauses QEMU before
> > machine
> > +is created, which allows to query and configure properties affecting
> > machine
> > +initialization. Use monitor/QMP command 'cont' to go to exit paused state.
> > +ETEXI
>
> To me it feels rather unpleasant to be exposing this kind of detailed
> knowledge
> about the steps QEMU goes through when consttructing the machine and expecting
> the mgmt application to synchronize certain monitor actions against this.
After discussing some ideas with David in this thread, I think
you have a really good point here: I don't see a reason why
set-numa-node should require anything except -S, except for the
way our machine initialization code work. In other words, why
should we generate the NUMA tables at
machine_run_board_init()-time and not at vm_start()-time?
--
Eduardo
- Re: [Qemu-devel] [RFC 2/6] numa: split out NumaOptions parsing into parse_NumaOptions(), (continued)
- Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option, Eduardo Habkost, 2017/10/16
- Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option, Daniel P. Berrange, 2017/10/17
- Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option, Laszlo Ersek, 2017/10/17
- Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option, Daniel P. Berrange, 2017/10/17
- Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option, Laszlo Ersek, 2017/10/17
- Re: [Qemu-devel] [RFC 4/6] CLI: add -paused option, Daniel P. Berrange, 2017/10/17