Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 apic updates from Ingo Molnar: "Misc changes: - optimize (reduce) IRQ handler tracing overhead (Wanpeng Li) - clean up MSR helpers (Borislav Petkov) - fix build warning on some configs (Sebastian Andrzej Siewior)" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/msr: Cleanup/streamline MSR helpers x86/apic: Prevent tracing on apic_msr_write_eoi() x86/msr: Add wrmsr_notrace() x86/apic: Get rid of "warning: 'acpi_ioapic_lock' defined but not used"
This commit is contained in:
@@ -76,6 +76,7 @@ int acpi_fix_pin2_polarity __initdata;
|
||||
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_X86_IO_APIC
|
||||
/*
|
||||
* Locks related to IOAPIC hotplug
|
||||
* Hotplug side:
|
||||
@@ -88,6 +89,7 @@ static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
|
||||
* ->ioapic_lock
|
||||
*/
|
||||
static DEFINE_MUTEX(acpi_ioapic_lock);
|
||||
#endif
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Boot-time Configuration
|
||||
|
@@ -2263,6 +2263,7 @@ void __init apic_set_eoi_write(void (*eoi_write)(u32 reg, u32 v))
|
||||
for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
|
||||
/* Should happen once for each apic */
|
||||
WARN_ON((*drv)->eoi_write == eoi_write);
|
||||
(*drv)->native_eoi_write = (*drv)->eoi_write;
|
||||
(*drv)->eoi_write = eoi_write;
|
||||
}
|
||||
}
|
||||
|
@@ -308,7 +308,7 @@ static void kvm_register_steal_time(void)
|
||||
|
||||
static DEFINE_PER_CPU(unsigned long, kvm_apic_eoi) = KVM_PV_EOI_DISABLED;
|
||||
|
||||
static void kvm_guest_apic_eoi_write(u32 reg, u32 val)
|
||||
static notrace void kvm_guest_apic_eoi_write(u32 reg, u32 val)
|
||||
{
|
||||
/**
|
||||
* This relies on __test_and_clear_bit to modify the memory
|
||||
@@ -319,7 +319,7 @@ static void kvm_guest_apic_eoi_write(u32 reg, u32 val)
|
||||
*/
|
||||
if (__test_and_clear_bit(KVM_PV_EOI_BIT, this_cpu_ptr(&kvm_apic_eoi)))
|
||||
return;
|
||||
apic_write(APIC_EOI, APIC_EOI_ACK);
|
||||
apic->native_eoi_write(APIC_EOI, APIC_EOI_ACK);
|
||||
}
|
||||
|
||||
static void kvm_guest_cpu_init(void)
|
||||
|
@@ -261,10 +261,8 @@ static inline void __smp_reschedule_interrupt(void)
|
||||
|
||||
__visible void smp_reschedule_interrupt(struct pt_regs *regs)
|
||||
{
|
||||
irq_enter();
|
||||
ack_APIC_irq();
|
||||
__smp_reschedule_interrupt();
|
||||
irq_exit();
|
||||
/*
|
||||
* KVM uses this interrupt to force a cpu out of guest mode
|
||||
*/
|
||||
|
Reference in New Issue
Block a user