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:
Thomas Gleixner 2016-02-18 20:53:43 +01:00
parent 81f70ba233
commit c25323c073
1 changed files with 4 additions and 4 deletions

View File

@ -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