Hi Salil,

On Mon, Aug 19, 2024 at 11:53:52AM +0000, Salil Mehta wrote:
> Date: Mon, 19 Aug 2024 11:53:52 +0000
> From: Salil Mehta <salil.me...@huawei.com>
> Subject: RE: [PATCH RFC V3 01/29] arm/virt,target/arm: Add new ARMCPU
>  {socket,cluster,core,thread}-id property

[snip]

> >  > NULL); @@ -2708,6 +2716,7 @@ static const CPUArchIdList
> >  *virt_possible_cpu_arch_ids(MachineState *ms)
> >  >   {
> >  >       int n;
> >  >       unsigned int max_cpus = ms->smp.max_cpus;
> >  > +    unsigned int smp_threads = ms->smp.threads;
> >  >       VirtMachineState *vms = VIRT_MACHINE(ms);
> >  >       MachineClass *mc = MACHINE_GET_CLASS(vms);
> >  >
> >  > @@ -2721,6 +2730,7 @@ static const CPUArchIdList
> >  *virt_possible_cpu_arch_ids(MachineState *ms)
> >  >       ms->possible_cpus->len = max_cpus;
> >  >       for (n = 0; n < ms->possible_cpus->len; n++) {
> >  >           ms->possible_cpus->cpus[n].type = ms->cpu_type;
> >  > +        ms->possible_cpus->cpus[n].vcpus_count = smp_threads;
> >  >           ms->possible_cpus->cpus[n].arch_id =
> >  >               virt_cpu_mp_affinity(vms, n);
> >  >
> >  
> >  Why @vcpus_count is initialized to @smp_threads? it needs to be
> >  documented in the commit log.
> 
> 
> Because every thread internally amounts to a vCPU in QOM and which
> is in 1:1 relationship with KVM vCPU. AFAIK, QOM does not strictly follows
> any architecture. Once you start to get into details of threads there
> are many aspects of shared resources one will have to consider and
> these can vary across different implementations of architecture.

For SPAPR CPU, the granularity of >possible_cpus->cpus[] is "core", and
for x86, it's "thread" granularity.

And smp.threads means how many threads in one core, so for x86, the
vcpus_count of a "thread" is 1, and for spapr, the vcpus_count of a
"core" equals to smp.threads.

IIUC, your granularity is still "thread", so that this filed should be 1.

-Zhao

> It is a bigger problem than you think, which I've touched at very nascent
> stages while doing POC of vCPU hotplug but tried to avoid till now. 
> 
> 
> But I would like to hear other community members views on this.
> 
> Hi Igor/Peter,
> 
> What is your take on this?
> 
> Thanks
> Salil.

Reply via email to