On Thu, Sep 17, 2020 at 08:47:42AM +0100, Marc Zyngier wrote: > On 2020-09-17 03:30, Ying Fang wrote: > > Allow userspace to set MPIDR using vcpu ioctl KVM_ARM_SET_MP_AFFINITY, > > so that we can support cpu topology for arm. > > MPIDR has *nothing* to do with CPU topology in the ARM architecture. > I encourage you to have a look at the ARM ARM and find out how often > the word "topology" is used in conjunction with the MPIDR_EL1 register. > Hi Marc, I mostly agree. However, the CPU topology descriptions use MPIDR to identify PEs. If userspace wants to build topology descriptions then it either needs to 1) build them after instantiating all KVM VCPUs in order to query KVM for each MPIDR, or 2) have a way to ask KVM for an MPIDR of given VCPU ID in advance (maybe just a scratch VCPU), or 3) have control over the MPIDRs so it can choose them when it likes, use them for topology descriptions, and then instantiate KVM VCPUs with them. I think (3) is the most robust approach, and it has the least overhead. Thanks, drew