Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
Linus Torvalds [Wed, 31 Dec 2008 00:10:19 +0000 (16:10 -0800)]
* 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)
  stacktrace: provide save_stack_trace_tsk() weak alias
  rcu: provide RCU options on non-preempt architectures too
  printk: fix discarding message when recursion_bug
  futex: clean up futex_(un)lock_pi fault handling
  "Tree RCU": scalable classic RCU implementation
  futex: rename field in futex_q to clarify single waiter semantics
  x86/swiotlb: add default swiotlb_arch_range_needs_mapping
  x86/swiotlb: add default phys<->bus conversion
  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit
  x86: add swiotlb allocation functions
  swiotlb: consolidate swiotlb info message printing
  swiotlb: support bouncing of HighMem pages
  swiotlb: factor out copy to/from device
  swiotlb: add arch hook to force mapping
  swiotlb: allow architectures to override phys<->bus<->phys conversions
  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit
  rcu: fix rcutorture behavior during reboot
  resources: skip sanity check of busy resources
  swiotlb: move some definitions to header
  swiotlb: allow architectures to override swiotlb pool allocation
  ...

Fix up trivial conflicts in
  arch/x86/kernel/Makefile
  arch/x86/mm/init_32.c
  include/linux/hardirq.h
as per Ingo's suggestions.

20 files changed:
1  2 
arch/x86/include/asm/dma-mapping.h
arch/x86/include/asm/iommu.h
arch/x86/include/asm/pci.h
arch/x86/include/asm/uaccess.h
arch/x86/kernel/Makefile
arch/x86/kernel/pci-dma.c
arch/x86/mm/init_32.c
include/asm-generic/bug.h
include/linux/hardirq.h
include/linux/kernel.h
include/linux/rcupdate.h
init/Kconfig
kernel/Makefile
kernel/exit.c
kernel/extable.c
kernel/futex.c
kernel/lockdep.c
kernel/sched.c
kernel/sys.c
mm/memory.c

Simple merge
Simple merge
Simple merge
Simple merge
@@@ -107,8 -105,8 +107,10 @@@ microcode-$(CONFIG_MICROCODE_INTEL)       += 
  microcode-$(CONFIG_MICROCODE_AMD)     += microcode_amd.o
  obj-$(CONFIG_MICROCODE)                       += microcode.o
  
 +obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += check.o
 +
+ obj-$(CONFIG_SWIOTLB)                 += pci-swiotlb_64.o # NB rename without _64
  ###
  # 64 bit specific files
  ifeq ($(CONFIG_X86_64),y)
Simple merge
@@@ -967,6 -970,10 +968,8 @@@ void __init mem_init(void
        int codesize, reservedpages, datasize, initsize;
        int tmp;
  
 -      start_periodic_check_for_corruption();
 -
+       pci_iommu_alloc();
  #ifdef CONFIG_FLATMEM
        BUG_ON(!mem_map);
  #endif
Simple merge
@@@ -162,17 -163,7 +164,20 @@@ extern void irq_enter(void)
   */
  extern void irq_exit(void);
  
 -#define nmi_enter()           do { lockdep_off(); rcu_nmi_enter(); __irq_enter(); } while (0)
 -#define nmi_exit()            do { __irq_exit(); rcu_nmi_exit(); lockdep_on(); } while (0)
 +#define nmi_enter()                           \
 +      do {                                    \
 +              ftrace_nmi_enter();             \
 +              lockdep_off();                  \
++              rcu_nmi_enter();                \
 +              __irq_enter();                  \
 +      } while (0)
++
 +#define nmi_exit()                            \
 +      do {                                    \
 +              __irq_exit();                   \
++              rcu_nmi_exit();                 \
 +              lockdep_on();                   \
 +              ftrace_nmi_exit();              \
 +      } while (0)
  
  #endif /* LINUX_HARDIRQ_H */
Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc kernel/Makefile
Simple merge
diff --cc kernel/exit.c
Simple merge
Simple merge
diff --cc kernel/futex.c
Simple merge
Simple merge
diff --cc kernel/sched.c
Simple merge
diff --cc kernel/sys.c
Simple merge
diff --cc mm/memory.c
Simple merge