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.