[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v1 3/5] spapr: Implement CPUClass::get_migra
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [RFC PATCH v1 3/5] spapr: Implement CPUClass::get_migration_id() for PowerPC CPUs |
Date: |
Thu, 7 Jul 2016 10:57:28 +1000 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Wed, Jul 06, 2016 at 07:51:01PM +0530, Bharata B Rao wrote:
> On Wed, Jul 06, 2016 at 02:01:14PM +0200, Igor Mammedov wrote:
> > On Wed, 6 Jul 2016 14:29:19 +0530
> > Bharata B Rao <address@hidden> wrote:
> >
> > > cpu_index is used as migration_id by default. For machine type
> > > versions that set use-migration-id property, cpu_dt_it is returned.
> > >
> > > Signed-off-by: Bharata B Rao <address@hidden>
> > > ---
> > > target-ppc/translate_init.c | 12 ++++++++++++
> > > 1 file changed, 12 insertions(+)
> > >
> > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
> > > index efd6b88..9ca2f5e 100644
> > > --- a/target-ppc/translate_init.c
> > > +++ b/target-ppc/translate_init.c
> > > @@ -10359,6 +10359,17 @@ static gchar *ppc_gdb_arch_name(CPUState *cs)
> > > #endif
> > > }
> > >
> > > +static int ppc_cpu_get_migration_id(CPUState *cs)
> > > +{
> > > + PowerPCCPU *cpu = POWERPC_CPU(cs);
> > > +
> > > + if (cs->use_migration_id) {
> > > + return (int) cpu->cpu_dt_id;
> > Could cpu_dt_id have value bigger than 32bit int? If yes, it's not safe
> > to do so, that's the reason why I'm going to use index in possible_cpus
> > on ARM and for the sake of uniformity do the same for x86 (even though
> > it's possible to use 32bit APIC ID).
>
> For the existing max_cpus limit, 32 bit should be fine, but obviously
> that is not good and future safe.
I think we should be OK. The hardware IDs these are modelled on are
32-bit - I'm pretty sure #address-cells in /cpus is 1, not 2.
And even with a lot of wastage for alignment gaps of various sorts,
we're a *long* way off from supporting 4 billion cpus...
> I had a brief look at the implementation around possible_cpus in
> x86, let me see if I can do something similar for generating stable
> ids for PowerPC. I thought device tree ID would be our stable id, but
> that being 64 bit and migration code requiring 32 bit value isn't
> helping :(
>
> Regards,
> Bharata.
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
Re: [Qemu-devel] [RFC PATCH v1 3/5] spapr: Implement CPUClass::get_migration_id() for PowerPC CPUs, Greg Kurz, 2016/07/06
Re: [Qemu-devel] [RFC PATCH v1 3/5] spapr: Implement CPUClass::get_migration_id() for PowerPC CPUs, David Gibson, 2016/07/06
[Qemu-devel] [RFC PATCH v1 4/5] xics: Use migration_id instead of cpu_index in XICS code, Bharata B Rao, 2016/07/06
[Qemu-devel] [RFC PATCH v1 5/5] cpu, spapr: Use migration_id from pseries-2.7 onwards, Bharata B Rao, 2016/07/06