[linux-next] LinuxNextTracking branch, master, updated. next-20161214

batman at open-mesh.org batman at open-mesh.org
Thu Dec 15 00:15:47 CET 2016


The following commit has been merged in the master branch:
commit 4ade5b2268b9ff05e48a9cb99689c4fd15fbe9c3
Merge: df5f0f0a028c9bf43949398a175dbaafaf513e14 5d07c2cc1962facb2f5d57b7b62987c213643724
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Dec 12 13:24:04 2016 -0800

    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"

diff --combined arch/x86/kernel/acpi/boot.c
index 931ced8,066ceb7..4764fa5
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@@ -76,6 -76,7 +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 +89,7 @@@
   *			->ioapic_lock
   */
  static DEFINE_MUTEX(acpi_ioapic_lock);
+ #endif
  
  /* --------------------------------------------------------------------------
                                Boot-time Configuration
@@@ -454,7 -456,6 +456,7 @@@ static void __init acpi_sci_ioapic_setu
  		polarity = acpi_sci_flags & ACPI_MADT_POLARITY_MASK;
  
  	mp_override_legacy_irq(bus_irq, polarity, trigger, gsi);
 +	acpi_penalize_sci_irq(bus_irq, trigger, polarity);
  
  	/*
  	 * stash over-ride to indicate we've been here
diff --combined arch/x86/kernel/kvm.c
index 52e90d6,aad52f1..fb5afc6
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@@ -308,7 -308,7 +308,7 @@@ static void kvm_register_steal_time(voi
  
  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 +319,7 @@@
  	 */
  	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)
@@@ -592,14 -592,6 +592,14 @@@ out
  	local_irq_restore(flags);
  }
  
 +__visible bool __kvm_vcpu_is_preempted(int cpu)
 +{
 +	struct kvm_steal_time *src = &per_cpu(steal_time, cpu);
 +
 +	return !!src->preempted;
 +}
 +PV_CALLEE_SAVE_REGS_THUNK(__kvm_vcpu_is_preempted);
 +
  /*
   * Setup pv_lock_ops to exploit KVM_FEATURE_PV_UNHALT if present.
   */
@@@ -616,11 -608,6 +616,11 @@@ void __init kvm_spinlock_init(void
  	pv_lock_ops.queued_spin_unlock = PV_CALLEE_SAVE(__pv_queued_spin_unlock);
  	pv_lock_ops.wait = kvm_wait;
  	pv_lock_ops.kick = kvm_kick_cpu;
 +
 +	if (kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) {
 +		pv_lock_ops.vcpu_is_preempted =
 +			PV_CALLEE_SAVE(__kvm_vcpu_is_preempted);
 +	}
  }
  
  static __init int kvm_spinlock_init_jump(void)

-- 
LinuxNextTracking


More information about the linux-merge mailing list