Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2016 03:25:04 +0000 (19:25 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2016 03:25:04 +0000 (19:25 -0800)
Pull smp hotplug updates from Thomas Gleixner:
 "This is the final round of converting the notifier mess to the state
  machine. The removal of the notifiers and the related infrastructure
  will happen around rc1, as there are conversions outstanding in other
  trees.

  The whole exercise removed about 2000 lines of code in total and in
  course of the conversion several dozen bugs got fixed. The new
  mechanism allows to test almost every hotplug step standalone, so
  usage sites can exercise all transitions extensively.

  There is more room for improvement, like integrating all the
  pointlessly different architecture mechanisms of synchronizing,
  setting cpus online etc into the core code"

* 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
  tracing/rb: Init the CPU mask on allocation
  soc/fsl/qbman: Convert to hotplug state machine
  soc/fsl/qbman: Convert to hotplug state machine
  zram: Convert to hotplug state machine
  KVM/PPC/Book3S HV: Convert to hotplug state machine
  arm64/cpuinfo: Convert to hotplug state machine
  arm64/cpuinfo: Make hotplug notifier symmetric
  mm/compaction: Convert to hotplug state machine
  iommu/vt-d: Convert to hotplug state machine
  mm/zswap: Convert pool to hotplug state machine
  mm/zswap: Convert dst-mem to hotplug state machine
  mm/zsmalloc: Convert to hotplug state machine
  mm/vmstat: Convert to hotplug state machine
  mm/vmstat: Avoid on each online CPU loops
  mm/vmstat: Drop get_online_cpus() from init_cpu_node_state/vmstat_cpu_dead()
  tracing/rb: Convert to hotplug state machine
  oprofile/nmi timer: Convert to hotplug state machine
  net/iucv: Use explicit clean up labels in iucv_init()
  x86/pci/amd-bus: Convert to hotplug state machine
  x86/oprofile/nmi: Convert to hotplug state machine
  ...

15 files changed:
1  2 
arch/s390/kernel/smp.c
arch/x86/include/asm/mce.h
arch/x86/kernel/cpu/mcheck/mce.c
arch/x86/kernel/cpu/mcheck/mce_amd.c
arch/x86/kernel/cpu/mcheck/therm_throt.c
arch/x86/kernel/cpuid.c
drivers/block/zram/zram_drv.c
drivers/iommu/intel-iommu.c
include/net/flow.h
kernel/printk/printk.c
mm/page_alloc.c
mm/vmscan.c
net/core/dev.c
net/core/flow.c
net/xfrm/xfrm_policy.c

Simple merge
index caab413c91ada6ea4be86a1007b6e4300d2217dc,caafad4a211ef8d7ba1dcb1a3ac12497cbdf96d0..5132f2a6c0a2424016eeebd6fb717da18bbd76cc
@@@ -366,15 -369,18 +364,24 @@@ struct smca_hwid 
        u32 xec_bitmap;         /* Bitmap of valid ExtErrorCodes; current max is 21. */
  };
  
 -struct smca_bank_info {
 -      struct smca_hwid_mcatype *type;
 -      u32 type_instance;
 +struct smca_bank {
 +      struct smca_hwid *hwid;
 +      /* Instance ID */
 +      u32 id;
  };
  
 -extern struct smca_bank_info smca_banks[MAX_NR_BANKS];
 +extern struct smca_bank smca_banks[MAX_NR_BANKS];
 +
 +extern const char *smca_get_long_name(enum smca_bank_types t);
++
+ extern int mce_threshold_create_device(unsigned int cpu);
+ extern int mce_threshold_remove_device(unsigned int cpu);
++
+ #else
+ static inline int mce_threshold_create_device(unsigned int cpu) { return 0; };
+ static inline int mce_threshold_remove_device(unsigned int cpu) { return 0; };
++
  #endif
  
  #endif /* _ASM_X86_MCE_H */
Simple merge
Simple merge
index 9095c80723d6be01e4fbe378ef4e0a5772f1c6b4,373e372a0e1c256976be3923ab38431be317a4c2..0931a105ffe16cde4640e759efa600b23a756d84
  #include <asm/msr.h>
  
  static struct class *cpuid_class;
+ static enum cpuhp_state cpuhp_cpuid_state;
  
 -struct cpuid_regs {
 -      u32 eax, ebx, ecx, edx;
 -};
 -
  static void cpuid_smp_cpuid(void *cmd_block)
  {
        struct cpuid_regs *cmd = (struct cpuid_regs *)cmd_block;
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/page_alloc.c
Simple merge
diff --cc mm/vmscan.c
Simple merge
diff --cc net/core/dev.c
Simple merge
diff --cc net/core/flow.c
Simple merge
Simple merge