[libvirt] [PATCHv2 4/5] S390: Fixed core identification for s390

Michal Privoznik mprivozn at redhat.com
Mon Jun 25 14:43:36 UTC 2012


On 25.06.2012 13:25, Daniel P. Berrange wrote:
> On Fri, Jun 22, 2012 at 01:50:13PM +0200, Viktor Mihajlovski wrote:
>> For the s390x architecture the sysfs core_id alone is not unique. As a
>> result it can happen that libvirt thinks there are less host CPUs available
>> than really present.
>> Currently, a logical CPU is equivalent to a core for s390x. We therefore
>> produce a fake core id from the CPU number.
>>
>> Signed-off-by: Viktor Mihajlovski <mihajlov at linux.vnet.ibm.com>
>> ---
>>  src/nodeinfo.c |    6 ++++++
>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/src/nodeinfo.c b/src/nodeinfo.c
>> index 7eb5ae5..819f954 100644
>> --- a/src/nodeinfo.c
>> +++ b/src/nodeinfo.c
>> @@ -355,7 +355,13 @@ int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
>>          nodeinfo->cpus++;
>>  
>>          /* Parse core */
>> +# if defined(__s390__) || \
>> +    defined(__s390x__)
>> +    /* logical cpu is equivalent to a core on s390 */
>> +        core = cpu;
>> +# else
>>          core = virNodeGetCpuValue(sysfs_cpudir, cpu, "topology/core_id", false);
>> +# endif
>>          if (!CPU_ISSET(core, &core_mask)) {
>>              CPU_SET(core, &core_mask);
>>              nodeinfo->cores++;
> 
> ACK
> 
> Daniel
> 

Pushed now.

Michal




More information about the libvir-list mailing list