Patches contributed by Eötvös Lorand University


commit 17d85bc7564571a1cce23ffdb2d2a33301876925
Merge: d95c3578120e 041b62374c7f
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 05:54:43 2009 +0100

    Merge commit 'v2.6.29-rc8' into cpus4096

commit f6411fe7e09b67470a2569231d6fa566c7c29b8b
Merge: df1c99d41650 f24ade3a3332 9ead64974b05
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 04:50:44 2009 +0100

    Merge branches 'sched/clock', 'sched/urgent' and 'linus' into sched/core

commit 2084e0225ed14cc1959c8aa703a3870c95fde4ab
Merge: 4c6ed8f496fe 5cc985488845
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 04:34:09 2009 +0100

    Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace

commit 4c6ed8f496fe89ff81b3d6e617a531bedfb613e4
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 04:33:17 2009 +0100

    Merge branches 'tracing/ftrace' and 'linus' into tracing/core

commit dd63fdcc63f0f853b116b52e56200a0e0227cf5f
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 03:20:49 2009 +0100

    x86: unify kmap_atomic_pfn() and iomap_atomic_prot_pfn(), fix
    
    Impact: build fix
    
    Move kmap_atomic_prot_pfn() to iomap_32.c. It is used on all 32-bit
    kernels, while highmem_32.c is only built on highmem kernels.
    
    ( Note: the debug_kmap_atomic_prot() check is removed for now, that
      problem is handled via another patch. )
    
    Reported-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Akinobu Mita <akinobu.mita@gmail.com>
    LKML-Reference: <20090311143317.GA22244@localhost.localdomain>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c
index f256e73542d7..522db5e3d0bf 100644
--- a/arch/x86/mm/highmem_32.c
+++ b/arch/x86/mm/highmem_32.c
@@ -121,24 +121,8 @@ void kunmap_atomic(void *kvaddr, enum km_type type)
 	pagefault_enable();
 }
 
-void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
-{
-	enum fixed_addresses idx;
-	unsigned long vaddr;
-
-	pagefault_disable();
-
-	debug_kmap_atomic_prot(type);
-
-	idx = type + KM_TYPE_NR * smp_processor_id();
-	vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
-	set_pte(kmap_pte - idx, pfn_pte(pfn, prot));
-	arch_flush_lazy_mmu_mode();
-
-	return (void*) vaddr;
-}
-
-/* This is the same as kmap_atomic() but can map memory that doesn't
+/*
+ * This is the same as kmap_atomic() but can map memory that doesn't
  * have a struct page associated with it.
  */
 void *kmap_atomic_pfn(unsigned long pfn, enum km_type type)
diff --git a/arch/x86/mm/iomap_32.c b/arch/x86/mm/iomap_32.c
index 592984e5496b..6e60ba698cee 100644
--- a/arch/x86/mm/iomap_32.c
+++ b/arch/x86/mm/iomap_32.c
@@ -32,7 +32,23 @@ int is_io_mapping_possible(resource_size_t base, unsigned long size)
 }
 EXPORT_SYMBOL_GPL(is_io_mapping_possible);
 
-/* Map 'pfn' using fixed map 'type' and protections 'prot'
+void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
+{
+	enum fixed_addresses idx;
+	unsigned long vaddr;
+
+	pagefault_disable();
+
+	idx = type + KM_TYPE_NR * smp_processor_id();
+	vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
+	set_pte(kmap_pte - idx, pfn_pte(pfn, prot));
+	arch_flush_lazy_mmu_mode();
+
+	return (void *)vaddr;
+}
+
+/*
+ * Map 'pfn' using fixed map 'type' and protections 'prot'
  */
 void *
 iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)

commit 25d500067d5a666d1336598d1b324793554e5496
Merge: 0b13fda1e093 9ead64974b05
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 02:14:25 2009 +0100

    Merge branch 'linus' into core/ipi

commit 480c93df5b99699390f93a7024c9f60d09da0e96
Merge: aecfcde920da d820ac4c2fa8
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 01:33:21 2009 +0100

    Merge branch 'core/locking' into tracing/ftrace

commit d820ac4c2fa881079e6b689d2098adce337558ae
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 01:30:40 2009 +0100

    locking: rename trace_softirq_[enter|exit] => lockdep_softirq_[enter|exit]
    
    Impact: cleanup
    
    The naming clashes with upcoming softirq tracepoints, so rename the
    APIs to lockdep_*().
    
    Requested-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/irqflags.h b/include/linux/irqflags.h
index 74bde13224c9..b02a3f1d46a0 100644
--- a/include/linux/irqflags.h
+++ b/include/linux/irqflags.h
@@ -24,8 +24,8 @@
 # define trace_softirqs_enabled(p)	((p)->softirqs_enabled)
 # define trace_hardirq_enter()	do { current->hardirq_context++; } while (0)
 # define trace_hardirq_exit()	do { current->hardirq_context--; } while (0)
-# define trace_softirq_enter()	do { current->softirq_context++; } while (0)
-# define trace_softirq_exit()	do { current->softirq_context--; } while (0)
+# define lockdep_softirq_enter()	do { current->softirq_context++; } while (0)
+# define lockdep_softirq_exit()	do { current->softirq_context--; } while (0)
 # define INIT_TRACE_IRQFLAGS	.softirqs_enabled = 1,
 #else
 # define trace_hardirqs_on()		do { } while (0)
@@ -38,8 +38,8 @@
 # define trace_softirqs_enabled(p)	0
 # define trace_hardirq_enter()		do { } while (0)
 # define trace_hardirq_exit()		do { } while (0)
-# define trace_softirq_enter()		do { } while (0)
-# define trace_softirq_exit()		do { } while (0)
+# define lockdep_softirq_enter()	do { } while (0)
+# define lockdep_softirq_exit()		do { } while (0)
 # define INIT_TRACE_IRQFLAGS
 #endif
 
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 9041ea7948fe..08a030f85416 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -180,7 +180,7 @@ asmlinkage void __do_softirq(void)
 	account_system_vtime(current);
 
 	__local_bh_disable((unsigned long)__builtin_return_address(0));
-	trace_softirq_enter();
+	lockdep_softirq_enter();
 
 	cpu = smp_processor_id();
 restart:
@@ -220,7 +220,7 @@ asmlinkage void __do_softirq(void)
 	if (pending)
 		wakeup_softirqd();
 
-	trace_softirq_exit();
+	lockdep_softirq_exit();
 
 	account_system_vtime(current);
 	_local_bh_enable();
diff --git a/lib/locking-selftest.c b/lib/locking-selftest.c
index 280332c1827c..619313ed6c46 100644
--- a/lib/locking-selftest.c
+++ b/lib/locking-selftest.c
@@ -157,11 +157,11 @@ static void init_shared_classes(void)
 #define SOFTIRQ_ENTER()				\
 		local_bh_disable();		\
 		local_irq_disable();		\
-		trace_softirq_enter();		\
+		lockdep_softirq_enter();	\
 		WARN_ON(!in_softirq());
 
 #define SOFTIRQ_EXIT()				\
-		trace_softirq_exit();		\
+		lockdep_softirq_exit();		\
 		local_irq_enable();		\
 		local_bh_enable();
 

commit 3c1f67d60e2b4f4455563928999fd41cc653645d
Merge: 03d78913f01e 9ead64974b05
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Mar 13 01:29:17 2009 +0100

    Merge branch 'linus' into core/locking

commit f8cb22cbb8383c9f41e6ccbcd4fb94edb1048bda
Merge: 044d408409cc ebdcc81c7193
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Mar 12 13:16:18 2009 +0100

    Merge branch 'linus' into irq/genirq