x86/tsc: Use topology functions
It's simpler to look at the topology mask than iterating over all online cpus to find a cpu on the same package. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org>
This commit is contained in:
parent
81f70ba233
commit
c25323c073
|
@ -1246,14 +1246,14 @@ void __init tsc_init(void)
|
||||||
*/
|
*/
|
||||||
unsigned long calibrate_delay_is_known(void)
|
unsigned long calibrate_delay_is_known(void)
|
||||||
{
|
{
|
||||||
int i, cpu = smp_processor_id();
|
int sibling, cpu = smp_processor_id();
|
||||||
|
|
||||||
if (!tsc_disabled && !cpu_has(&cpu_data(cpu), X86_FEATURE_CONSTANT_TSC))
|
if (!tsc_disabled && !cpu_has(&cpu_data(cpu), X86_FEATURE_CONSTANT_TSC))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for_each_online_cpu(i)
|
sibling = cpumask_any_but(topology_core_cpumask(cpu), cpu);
|
||||||
if (cpu_data(i).phys_proc_id == cpu_data(cpu).phys_proc_id)
|
if (sibling < nr_cpu_ids)
|
||||||
return cpu_data(i).loops_per_jiffy;
|
return cpu_data(sibling).loops_per_jiffy;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue