From: Bharata B Rao <bharata@linux.vnet.ibm.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, imammedo@redhat.com,
groug@kaod.org, nikunj@linux.vnet.ibm.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [RFC PATCH v0 1/5] cpu: Factor out cpu vmstate_[un]register into separate routines
Date: Tue, 5 Jul 2016 10:46:07 +0530 [thread overview]
Message-ID: <20160705051607.GA12977@in.ibm.com> (raw)
In-Reply-To: <20160705045613.GE2251@voom.fritz.box>
On Tue, Jul 05, 2016 at 02:56:13PM +1000, David Gibson wrote:
> On Tue, Jul 05, 2016 at 10:12:48AM +0530, Bharata B Rao wrote:
> > Consolidates cpu vmstate_[un]register calls into separate routines.
> > No functionality change except that vmstate_unregister calls are
> > now done under !CONFIG_USER_ONLY to match with vmstate_register calls.
> >
> > Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
>
> > ---
> > exec.c | 47 ++++++++++++++++++++++++++++-------------------
> > 1 file changed, 28 insertions(+), 19 deletions(-)
> >
> > diff --git a/exec.c b/exec.c
> > index 0122ef7..8ce8e90 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -594,9 +594,7 @@ AddressSpace *cpu_get_address_space(CPUState *cpu, int asidx)
> > /* Return the AddressSpace corresponding to the specified index */
> > return cpu->cpu_ases[asidx].as;
> > }
> > -#endif
> >
> > -#ifndef CONFIG_USER_ONLY
> > static DECLARE_BITMAP(cpu_index_map, MAX_CPUMASK_BITS);
> >
> > static int cpu_get_free_index(Error **errp)
> > @@ -617,6 +615,31 @@ static void cpu_release_index(CPUState *cpu)
> > {
> > bitmap_clear(cpu_index_map, cpu->cpu_index, 1);
> > }
> > +
> > +static void cpu_vmstate_register(CPUState *cpu)
> > +{
> > + CPUClass *cc = CPU_GET_CLASS(cpu);
> > +
> > + if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
> > + vmstate_register(NULL, cpu->cpu_index, &vmstate_cpu_common, cpu);
> > + }
> > + if (cc->vmsd != NULL) {
> > + vmstate_register(NULL, cpu->cpu_index, cc->vmsd, cpu);
> > + }
> > +}
> > +
> > +static void cpu_vmstate_unregister(CPUState *cpu)
> > +{
> > + CPUClass *cc = CPU_GET_CLASS(cpu);
> > +
> > + if (cc->vmsd != NULL) {
> > + vmstate_unregister(NULL, cc->vmsd, cpu);
> > + }
> > + if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
> > + vmstate_unregister(NULL, &vmstate_cpu_common, cpu);
> > + }
> > +}
> > +
>
> Given you're factoring this out, would it make sense to defined no-op
> versions for CONFIG_USER_ONLY, to reduce the amount of ifdefs at the
> call site?
I did that in a subsequent patch that moved the calls to these routines
into cpu_common_[un]realize(), but ended up in some unrelated issue and
hence didn't include that patch yet.
But as you note, we could do that with the existing code itself.
Commit 741da0d3 limited the vmstate_register calls to !CONFIG_USER_ONLY.
I am still not sure why cpu vmstate registration isn't needed for
CONFIG_USER_ONLY
Regards,
Bharata.
next prev parent reply other threads:[~2016-07-05 5:16 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-05 4:42 [Qemu-devel] [RFC PATCH v0 0/5] sPAPR: Fix migration when CPUs are removed in random order Bharata B Rao
2016-07-05 4:42 ` [Qemu-devel] [RFC PATCH v0 1/5] cpu: Factor out cpu vmstate_[un]register into separate routines Bharata B Rao
2016-07-05 4:56 ` David Gibson
2016-07-05 5:16 ` Bharata B Rao [this message]
2016-07-05 5:49 ` Igor Mammedov
2016-07-05 6:35 ` Bharata B Rao
2016-07-05 7:22 ` Igor Mammedov
2016-07-05 7:38 ` Bharata B Rao
2016-07-05 8:01 ` Igor Mammedov
2016-07-05 7:29 ` Greg Kurz
2016-07-05 4:42 ` [Qemu-devel] [RFC PATCH v0 2/5] cpu: Optionally use arch_id instead of cpu_index in cpu vmstate_register() Bharata B Rao
2016-07-05 4:56 ` David Gibson
2016-07-05 5:22 ` Bharata B Rao
2016-07-05 6:59 ` Igor Mammedov
2016-07-05 7:15 ` Igor Mammedov
2016-07-05 12:43 ` Bharata B Rao
2016-07-06 5:25 ` Igor Mammedov
2016-07-06 8:25 ` Bharata B Rao
2016-07-07 2:08 ` David Gibson
2016-07-07 17:19 ` Greg Kurz
2016-07-05 7:20 ` Greg Kurz
2016-07-05 4:42 ` [Qemu-devel] [RFC PATCH v0 3/5] spapr: Implement CPUClass.get_arch_id() for PowerPC CPUs Bharata B Rao
2016-07-05 4:58 ` David Gibson
2016-07-05 4:42 ` [Qemu-devel] [RFC PATCH v0 4/5] xics: Use arch_id instead of cpu_index in XICS code Bharata B Rao
2016-07-05 4:59 ` David Gibson
2016-07-05 7:03 ` Igor Mammedov
2016-07-05 4:42 ` [Qemu-devel] [RFC PATCH v0 5/5] spapr: Prefer arch_id over cpu_index Bharata B Rao
2016-07-05 7:10 ` [Qemu-devel] [RFC PATCH v0 0/5] sPAPR: Fix migration when CPUs are removed in random order Greg Kurz
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=20160705051607.GA12977@in.ibm.com \
--to=bharata@linux.vnet.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=groug@kaod.org \
--cc=imammedo@redhat.com \
--cc=nikunj@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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 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).