Commit 33a201fa authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86, apic: streamline the ->multi_timer_check() quirk



only NUMAQ uses this quirk: to prevent the timer IRQ from being added
on secondary nodes.

All other genapic templates can have a NULL ->multi_timer_check()
callback.

Also, extend the generic code to treat a NULL pointer accordingly.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 72ce0165
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -62,11 +62,6 @@ static inline void bigsmp_setup_apic_routing(void)
		"Physflat", nr_ioapics);
}

static inline int multi_timer_check(int apic, int irq)
{
	return (0);
}

static inline int apicid_to_node(int logical_apicid)
{
	return apicid_2_node[hard_smp_processor_id()];
+0 −5
Original line number Diff line number Diff line
@@ -82,11 +82,6 @@ static inline void es7000_setup_apic_routing(void)
			nr_ioapics, cpus_addr(*es7000_target_cpus())[0]);
}

static inline int multi_timer_check(int apic, int irq)
{
	return 0;
}

static inline int apicid_to_node(int logical_apicid)
{
	return 0;
+0 −5
Original line number Diff line number Diff line
@@ -104,11 +104,6 @@ static inline physid_mask_t default_ioapic_phys_id_map(physid_mask_t phys_map)
	return phys_map;
}

static inline int multi_timer_check(int apic, int irq)
{
	return 0;
}

/* Mapping from cpu number to logical apicid */
static inline int cpu_to_logical_apicid(int cpu)
{
+0 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@

#include <asm/genapic.h>

#define multi_timer_check (apic->multi_timer_check)
#define apicid_to_node (apic->apicid_to_node)
#define cpu_to_logical_apicid (apic->cpu_to_logical_apicid) 
#define cpu_present_to_apicid (apic->cpu_present_to_apicid)
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ static inline void numaq_setup_apic_routing(void)
 * Skip adding the timer int on secondary nodes, which causes
 * a small but painful rift in the time-space continuum.
 */
static inline int multi_timer_check(int apic, int irq)
static inline int numaq_multi_timer_check(int apic, int irq)
{
	return apic != 0 && irq == 0;
}
Loading