On 30/08/18 10:44, Jan Beulich wrote:
>>>> On 30.08.18 at 10:37, <wei.l...@citrix.com> wrote:
>> On Thu, Aug 30, 2018 at 10:31:16AM +0200, Juergen Gross wrote:
>>> On 30/08/18 10:16, Jan Beulich wrote:
>>>>>>> On 29.08.18 at 20:23, <jgr...@suse.com> wrote:
>>>>> The topology information obtainable via XEN_SYSCTL_cputopoinfo is
>>>>> filled rather weird: the size of the array is derived from the highest
>>>>> online cpu number, while the data is set to "invalid" for not present
>>>>> cpus only.
>>>>>
>>>>> With smt=0 the information for parked threads is all zero, so it should
>>>>> be best to return "invalid" information for offline cpus.
>>>>>
>>>>> On a dual core system without this patch xl info -n will print:
>>>>>
>>>>> cpu_topology           :
>>>>> cpu:    core    socket     node
>>>>>   0:       0        0        0
>>>>>   1:       0        0        0
>>>>>   2:       1        0        0
>>>>
>>>> But there's nothing wrong here. The interesting part is what would be
>>>> printed for CPU 3 (perhaps on a more than two cores system). After
>>>> all topology is valid irrespective of whether a CPU is online - it all
>>>> depends on whether the hypervisor still has the information available.
>>>> It is for a reason that cpu_smpboot_free() invalidates certain fields
>>>> only upon CPU removal:
>>>>
>>>>     if ( remove )
>>>>     {
>>>>         c[cpu].phys_proc_id = XEN_INVALID_SOCKET_ID;
>>>>         c[cpu].cpu_core_id = XEN_INVALID_CORE_ID;
>>>>         c[cpu].compute_unit_id = INVALID_CUID;
>>>>
>>>> On a 6-core system I see
>>>>
>>>> cpu:    core    socket     node
>>>>   0:       0        0        0
>>>>   1:       0        0        0
>>>>   2:       1        0        0
>>>>   3:       1        0        0
>>>>   4:       2        0        0
>>>>   5:       2        0        0
>>>>   6:       8        0        0
>>>>   7:       8        0        0
>>>>   8:       9        0        0
>>>>   9:       9        0        0
>>>>  10:      10        0        0
>>>>
>>>> which looks fine to me, apart from the missing info on CPU 11.
>>>
>>> I can change the patch to print the information for the offline cpus
>>> (including the now missing ones), too.
>>>
>>
>> That is fine too. I just don't like inconsistent output. :p
>>
>> P.S. you probably want to add a new field to the existing interface to
>> indicate if a cpu is online.
> 
> And if we extend the interface anyway, also the thread ID (as iirc
> pointed out as missing recently by George).

Ha, yes!


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to