[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 0/8] Display IO topology when PXM data is available (plus some cleanup)



>>> On 23.03.15 at 16:33, <boris.ostrovsky@xxxxxxxxxx> wrote:
> On 03/23/2015 11:27 AM, Jan Beulich wrote:
>>>>> On 23.03.15 at 14:47, <boris.ostrovsky@xxxxxxxxxx> wrote:
>>> @@ -214,8 +214,19 @@ extern void detect_extended_topology(struct 
>>> cpuinfo_x86 *c);
>>>
>>>    extern void detect_ht(struct cpuinfo_x86 *c);
>>>
>>> -#define cpu_to_core(_cpu)   (cpu_data[_cpu].cpu_core_id)
>>> -#define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id)
>>> +inline int cpu_to_core(unsigned cpu)
>>> +{
>>> +    if ( cpu_data[cpu].cpu_core_id == BAD_APICID )
>>> +        return INVALID_COREID;
>>> +    return cpu_data[cpu].cpu_core_id;
>>> +}
>>> +
>>> +inline int cpu_to_socket(unsigned cpu)
>>> +{
>>> +    if ( cpu_data[cpu].phys_proc_id == BAD_APICID )
>>> +        return INVALID_SOCKETID;
>>> +    return cpu_data[cpu].phys_proc_id;
>>> +}
>>
>> Apart from them needing to be static, I don't think we want the
>> extra conditionals in x86 code. Hence I think you rather should
>> introduce wrappers for the specific us in sysctl.c.
> 
> 
> If we use XEN_INVALID_CORE_ID/XEN_INVALID_SOCKET_ID in 
> cpu_data.cpu_core_id/phys_proc_id then no conditionals would be needed.
> 
> (I didn't do it in the above patch because these two fields are 
> currently signed. I'll make them unsigned).

Right - that's not where I meant them to be used; I suggested
having the inline wrappers use those.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.