mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-09 15:24:32 +08:00
x86/apic: Fix ugly casting and branching in cpu_mask_to_apicid_and()
Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Cc: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Yinghai Lu <yinghai@kernel.org> Link: http://lkml.kernel.org/r/20120614074954.GF3383@dhcp-26-207.brq.redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
a5a391561b
commit
ea3807ea52
@ -2127,19 +2127,19 @@ int default_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
||||
const struct cpumask *andmask,
|
||||
unsigned int *apicid)
|
||||
{
|
||||
int cpu;
|
||||
unsigned int cpu;
|
||||
|
||||
for_each_cpu_and(cpu, cpumask, andmask) {
|
||||
if (cpumask_test_cpu(cpu, cpu_online_mask))
|
||||
break;
|
||||
}
|
||||
|
||||
if (likely((unsigned int)cpu < nr_cpu_ids)) {
|
||||
if (likely(cpu < nr_cpu_ids)) {
|
||||
*apicid = per_cpu(x86_cpu_to_apicid, cpu);
|
||||
return 0;
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -529,7 +529,7 @@ static inline int
|
||||
es7000_cpu_mask_to_apicid(const struct cpumask *cpumask, unsigned int *dest_id)
|
||||
{
|
||||
unsigned int round = 0;
|
||||
int cpu, uninitialized_var(apicid);
|
||||
unsigned int cpu, uninitialized_var(apicid);
|
||||
|
||||
/*
|
||||
* The cpus in the mask must all be on the apic cluster.
|
||||
|
@ -267,7 +267,7 @@ static inline int
|
||||
summit_cpu_mask_to_apicid(const struct cpumask *cpumask, unsigned int *dest_id)
|
||||
{
|
||||
unsigned int round = 0;
|
||||
int cpu, apicid = 0;
|
||||
unsigned int cpu, apicid = 0;
|
||||
|
||||
/*
|
||||
* The cpus in the mask must all be on the apic cluster.
|
||||
|
@ -274,7 +274,7 @@ uv_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
||||
const struct cpumask *andmask,
|
||||
unsigned int *apicid)
|
||||
{
|
||||
int cpu;
|
||||
int unsigned cpu;
|
||||
|
||||
/*
|
||||
* We're using fixed IRQ delivery, can only return one phys APIC ID.
|
||||
@ -285,12 +285,12 @@ uv_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
||||
break;
|
||||
}
|
||||
|
||||
if (likely((unsigned int)cpu < nr_cpu_ids)) {
|
||||
if (likely(cpu < nr_cpu_ids)) {
|
||||
*apicid = per_cpu(x86_cpu_to_apicid, cpu) | uv_apicid_hibits;
|
||||
return 0;
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static unsigned int x2apic_get_apic_id(unsigned long x)
|
||||
|
Loading…
Reference in New Issue
Block a user