From: Igor Mammedov <imammedo@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kwolf@redhat.com, peter.maydell@linaro.org, aliguori@us.ibm.com,
ehabkost@redhat.com, mst@redhat.com, jan.kiszka@siemens.com,
stefano.stabellini@eu.citrix.com, claudio.fontana@huawei.com,
qemu-devel@nongnu.org, quintela@redhat.com, armbru@redhat.com,
blauwirbel@gmail.com, yang.z.zhang@intel.com,
alex.williamson@redhat.com, aderumier@odiso.com,
kraxel@redhat.com, anthony.perard@citrix.com,
lcapitulino@redhat.com, afaerber@suse.de, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH 08/12] introduce CPU hot-plug notifier
Date: Wed, 27 Mar 2013 16:24:25 +0100 [thread overview]
Message-ID: <20130327162425.763974e4@nial.usersys.redhat.com> (raw)
In-Reply-To: <5152D2A2.2030901@redhat.com>
On Wed, 27 Mar 2013 12:06:10 +0100
Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 21/03/2013 15:28, Igor Mammedov ha scritto:
> > hot-added CPU id (APIC ID) will be distributed to acpi_piix4 and rtc_cmos
> >
> > Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> > ---
> > include/sysemu/sysemu.h | 4 ++++
> > stubs/Makefile.objs | 1 +
> > stubs/qemu_system_cpu_hotplug_request.c | 5 +++++
> > vl.c | 14 ++++++++++++++
> > 4 files changed, 24 insertions(+), 0 deletions(-)
> > create mode 100644 stubs/qemu_system_cpu_hotplug_request.c
> >
> > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> > index 6578782..4b8f721 100644
> > --- a/include/sysemu/sysemu.h
> > +++ b/include/sysemu/sysemu.h
> > @@ -152,6 +152,10 @@ void do_pci_device_hot_remove(Monitor *mon, const
> > QDict *qdict); /* generic hotplug */
> > void drive_hot_add(Monitor *mon, const QDict *qdict);
> >
> > +/* CPU hotplug */
> > +void qemu_register_cpu_add_notifier(Notifier *notifier);
> > +void qemu_system_cpu_hotplug_request(uint32_t id);
> > +
> > /* pcie aer error injection */
> > void pcie_aer_inject_error_print(Monitor *mon, const QObject *data);
> > int do_pcie_aer_inject_error(Monitor *mon,
> > diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
> > index 9741e16..6a492f5 100644
> > --- a/stubs/Makefile.objs
> > +++ b/stubs/Makefile.objs
> > @@ -25,3 +25,4 @@ stub-obj-y += vmstate.o
> > stub-obj-$(CONFIG_WIN32) += fd-register.o
> > stub-obj-y += resume_vcpu.o
> > stub-obj-y += get_icc_bus.o
> > +stub-obj-y += qemu_system_cpu_hotplug_request.o
>
> You're adding one stub per patch. I think this is a sign that something
> can be abstracted at a higher level (e.g. put something in cpus.c if it
> is softmmu-specific), or that it is added at the wrong place.
I've put notifier in vl.c since most of them are there and it doesn't make
much difference if it is in cpus.c, but stub is to reduce ifdeffenery in
headers, although target-i386/cpu.c is build per target so I could use
ifdef in include/sysemu/cpus.h
===
#ifndef CONFIG_USER_ONLY
void qemu_system_cpu_hotplug_request(uint32_t id);
#esle
static inline void qemu_system_cpu_hotplug_request(uint32_t id)
{
}
#endif
===
>
> For example, this notifier can go in qom/cpu.c.
Yep there wouldn't be need for stub if notifier is in qom/cpu.c,
but I've figured out that people would object to put it there
since it's build only once for softmmu and *-user targets and
*-user target doesn't need it at all.
Andreas,
would it be acceptable if notifier goes in qom/cpu.c, (it would
add nop code to *-user target)?
> (Besides, I noticed now the get_icc_bus stub. I didn't understand why
> it's used, but anyway adding CPU-specific stuff to libqemustub is
> absolutely a no-no).
True, If icc_bus was created at board level then there wouldn't be any need
for get_icc_bus(), it could be just looked up in qom tree. I'll try to do it.
BTW: is there any guidelines what might be added to libqemustub?
>
> Paolo
next prev parent reply other threads:[~2013-03-27 15:24 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 14:28 [Qemu-devel] [RFC 00/12] target-i386: CPU hot-add with cpu_set QMP command Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 01/12] target-i386: consolidate error propagation in x86_cpu_realizefn() Igor Mammedov
2013-03-27 10:21 ` Paolo Bonzini
2013-04-01 20:00 ` Eduardo Habkost
2013-03-21 14:28 ` [Qemu-devel] [PATCH 02/12] target-i386: split APIC creation from initialization " Igor Mammedov
2013-04-04 8:59 ` Andreas Färber
2013-04-04 9:56 ` Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 03/12] target-i386: split out CPU creation and features parsing into cpu_x86_create() Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 04/12] target-i386: introduce apic-id property Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it Igor Mammedov
2013-03-27 11:01 ` Paolo Bonzini
2013-03-27 12:12 ` Igor Mammedov
2013-03-27 12:17 ` Andreas Färber
2013-03-27 13:27 ` Igor Mammedov
2013-03-27 14:30 ` Andreas Färber
2013-03-27 15:16 ` Igor Mammedov
2013-03-27 15:20 ` Paolo Bonzini
2013-03-27 19:46 ` Igor Mammedov
2013-03-27 19:51 ` [Qemu-devel] [PATCH 05/14] cpu: Pass CPUState to *cpu_synchronize_post*() Igor Mammedov
2013-03-27 19:51 ` [Qemu-devel] [PATCH 06/14] cpu: call cpu_synchronize_post_init() from CPUClass.realize() if hotplugged Igor Mammedov
2013-03-27 19:51 ` [Qemu-devel] [PATCH 07/14] cpu: introduce CPUClass.resume() method Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 06/12] target-i386: replace FROM_SYSBUS() with QOM type cast Igor Mammedov
2013-03-27 10:22 ` Paolo Bonzini
2013-04-04 9:03 ` Andreas Färber
2013-04-04 9:59 ` Igor Mammedov
2013-04-04 10:05 ` Andreas Färber
2013-04-04 10:22 ` Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 07/12] target-i386: Add ICC_BUS and attach apic, kvmvapic and cpu to it Igor Mammedov
2013-03-27 10:57 ` Paolo Bonzini
2013-03-28 10:55 ` Igor Mammedov
2013-03-29 7:22 ` li guang
2013-03-29 8:12 ` Igor Mammedov
2013-04-04 11:10 ` Andreas Färber
2013-04-04 12:52 ` Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 08/12] introduce CPU hot-plug notifier Igor Mammedov
2013-03-27 11:06 ` Paolo Bonzini
2013-03-27 15:24 ` Igor Mammedov [this message]
2013-03-27 15:36 ` Paolo Bonzini
2013-03-21 14:28 ` [Qemu-devel] [PATCH 09/12] rtc: update rtc_cmos on CPU hot-plug Igor Mammedov
2013-03-21 14:28 ` [Qemu-devel] [PATCH 10/12] acpi_piix4: add infrastructure to send CPU hot-plug GPE to guest Igor Mammedov
2013-03-27 10:47 ` Paolo Bonzini
2013-03-21 14:28 ` [Qemu-devel] [PATCH 11/12] qmp: add cpu_set qmp command Igor Mammedov
2013-03-22 2:44 ` Eric Blake
2013-03-25 15:35 ` [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set " Igor Mammedov
2013-03-25 20:09 ` Luiz Capitulino
2013-03-25 20:22 ` Eric Blake
2013-03-26 13:43 ` Igor Mammedov
2013-03-26 14:02 ` Luiz Capitulino
2013-03-26 14:38 ` Eric Blake
2013-03-27 10:36 ` [Qemu-devel] [PATCH 11/12] qmp: add cpu_set " Paolo Bonzini
2013-03-21 14:28 ` [Qemu-devel] [PATCH 12/12] target-i386: implement CPU hot-add Igor Mammedov
2013-03-22 2:46 ` Eric Blake
2013-03-25 15:31 ` Igor Mammedov
2013-03-27 11:19 ` Paolo Bonzini
2013-04-03 17:58 ` Igor Mammedov
2013-04-03 18:10 ` Eduardo Habkost
2013-04-03 18:59 ` Igor Mammedov
2013-04-03 19:27 ` Eduardo Habkost
2013-04-03 20:09 ` Igor Mammedov
2013-04-03 20:57 ` Eduardo Habkost
2013-04-03 18:22 ` Andreas Färber
2013-04-03 19:01 ` Igor Mammedov
2013-03-21 14:44 ` [Qemu-devel] [RFC 00/12] target-i386: CPU hot-add with cpu_set QMP command Eric Blake
2013-03-21 15:38 ` 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=20130327162425.763974e4@nial.usersys.redhat.com \
--to=imammedo@redhat.com \
--cc=aderumier@odiso.com \
--cc=afaerber@suse.de \
--cc=alex.williamson@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=anthony.perard@citrix.com \
--cc=armbru@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=claudio.fontana@huawei.com \
--cc=ehabkost@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=rth@twiddle.net \
--cc=stefano.stabellini@eu.citrix.com \
--cc=yang.z.zhang@intel.com \
/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).