diff -Nurp -X dontdiff.new linux-RT/arch/x86_64/mm/init.c linux-RT.mich/arch/x86_64/mm/init.c --- linux-RT/arch/x86_64/mm/init.c 2005-06-30 21:22:33.000000000 +0200 +++ linux-RT.mich/arch/x86_64/mm/init.c 2005-06-30 22:28:16.000000000 +0200 @@ -47,7 +47,7 @@ extern int swiotlb; extern char _stext[]; -DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); +DEFINE_PER_CPU_LOCKED(struct mmu_gather, mmu_gathers); /* * NOTE: pagetable_init alloc all the fixmap pagetables contiguous on the diff -Nurp -X dontdiff.new linux-RT/include/asm-x86_64/percpu.h linux-RT.mich/include/asm-x86_64/percpu.h --- linux-RT/include/asm-x86_64/percpu.h 2005-06-30 21:44:37.000000000 +0200 +++ linux-RT.mich/include/asm-x86_64/percpu.h 2005-06-30 22:26:10.000000000 +0200 @@ -63,6 +63,9 @@ extern void setup_per_cpu_areas(void); #endif /* SMP */ #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name +#define DECLARE_PER_CPU_LOCKED(type, name) \ + extern spinlock_t per_cpu_lock__##name##_locked; \ + extern __typeof__(type) per_cpu__##name##_locked #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var) #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)