Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2
Conflicts: arch/parisc/kernel/irq.c arch/x86/include/asm/fixmap_64.h arch/x86/include/asm/setup.h kernel/irq/handle.c Semantic merge: arch/x86/include/asm/fixmap.h Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -894,20 +894,27 @@ static void efx_fini_io(struct efx_nic *efx)
|
||||
* interrupts across them. */
|
||||
static int efx_wanted_rx_queues(void)
|
||||
{
|
||||
cpumask_t core_mask;
|
||||
cpumask_var_t core_mask;
|
||||
int count;
|
||||
int cpu;
|
||||
|
||||
cpus_clear(core_mask);
|
||||
if (!alloc_cpumask_var(&core_mask, GFP_KERNEL)) {
|
||||
printk(KERN_WARNING
|
||||
"efx.c: allocation failure, irq balancing hobbled\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
cpumask_clear(core_mask);
|
||||
count = 0;
|
||||
for_each_online_cpu(cpu) {
|
||||
if (!cpu_isset(cpu, core_mask)) {
|
||||
if (!cpumask_test_cpu(cpu, core_mask)) {
|
||||
++count;
|
||||
cpus_or(core_mask, core_mask,
|
||||
topology_core_siblings(cpu));
|
||||
cpumask_or(core_mask, core_mask,
|
||||
topology_core_cpumask(cpu));
|
||||
}
|
||||
}
|
||||
|
||||
free_cpumask_var(core_mask);
|
||||
return count;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user