kernel_optimize_test/arch/x86/kernel/apic
Alexander Gordeev 4988a40c39 x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask
Currently cpu_mask_to_apicid() should not get a offline CPU with
the cpumask. Otherwise some apic drivers might try to access
non-existent per-cpu variables (i.e. x2apic). In that regard
cpu_mask_to_apicid() and cpu_mask_to_apicid_and() operations are
inconsistent.

This fix makes the two operations do not rely on calling
functions and always return the apicid for only online CPUs. As
result, the meaning and implementations of cpu_mask_to_apicid()
and cpu_mask_to_apicid_and() operations become straight.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/20120607131624.GG4759@dhcp-26-207.brq.redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-06-08 11:44:30 +02:00
..
apic_flat_64.c x86/apic: Factor out default vector_allocation_domain() operation 2012-06-08 11:44:27 +02:00
apic_noop.c x86/apic: Avoid useless scanning thru a cpumask in assign_irq_vector() 2012-06-08 11:44:29 +02:00
apic_numachip.c x86/apic: Factor out default vector_allocation_domain() operation 2012-06-08 11:44:27 +02:00
apic.c x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask 2012-06-08 11:44:30 +02:00
bigsmp_32.c x86/apic: Factor out default vector_allocation_domain() operation 2012-06-08 11:44:27 +02:00
es7000_32.c x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask 2012-06-08 11:44:30 +02:00
hw_nmi.c x86, nmi: Wire up NMI handlers to new routines 2011-10-10 06:56:57 +02:00
io_apic.c x86/apic: Make cpu_mask_to_apicid() operations return error code 2012-06-08 11:44:29 +02:00
ipi.c x86: Always use x86_cpu_to_logical_apicid for cpu -> logical apic id 2011-01-28 14:54:05 +01:00
Makefile x86: Add NumaChip support 2011-12-05 17:17:24 +01:00
numaq_32.c x86/apic: Make cpu_mask_to_apicid() operations return error code 2012-06-08 11:44:29 +02:00
probe_32.c x86/apic: Factor out default vector_allocation_domain() operation 2012-06-08 11:44:27 +02:00
probe_64.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
summit_32.c x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask 2012-06-08 11:44:30 +02:00
x2apic_cluster.c x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask 2012-06-08 11:44:30 +02:00
x2apic_phys.c x86/apic: Factor out default vector_allocation_domain() operation 2012-06-08 11:44:27 +02:00
x2apic_uv_x.c x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask 2012-06-08 11:44:30 +02:00