On Mon, May 04, 2015 at 03:16:16PM +0200, Igor Mammedov wrote:
> On Mon, 04 May 2015 11:59:52 +0200
> Paolo Bonzini <pbonz...@redhat.com> wrote:
> 
> > 
> > 
> > On 04/05/2015 11:47, Igor Mammedov wrote:
> > > On Thu, 30 Apr 2015 16:19:07 -0300
> > > Eduardo Habkost <ehabk...@redhat.com> wrote:
> > > 
> > > > This will provide a predictable path for the CPU objects, and a
> > > > more powerful alternative for the query-cpus QMP command, as now
> > > > every QOM property on CPU objects can be easily queried.
> > > 
> > > provided the way cpu_index is generated, path won't be
> > > predictable/stable with CPU unplug. I'd rather use DEVICE->id
> > > instead of cpu_index.
> > 
> > Can we use the APIC id then?  Perhaps wrapped with a CPUState-level
> > method get_stable_processor_id()?
> We have CPUClass->get_arch_id() which results in APIC id for
> target-i386.
> But I'd rather see an arbitrary DEVICE->id as index/name, that way
> when -device cpu-foo,id=cpuXXX becomes functional we would have
> 1:1 mapping between CLI and /machine/cpus/ view.

An arbitrary device ID sounds better to me, because it allows us to
change guest-visible behavior without breaking QMP client expectations.

The only question is what should be the default device ID for the CPUs
created by -smp and cpu-add. I was going to suggest get_arch_id(), but
cpu_index may be a better candidate for the same reason above: it is
truly an arbitrary ID that doesn't depend on guest-visible bits.

-- 
Eduardo

Reply via email to