Patches contributed by Eötvös Lorand University


commit 867f7fb3ebb831970847b179e7df5a9ab10da16d
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Nov 11 11:18:14 2008 +0100

    tracing, x86: function return tracer, fix assembly constraints
    
    fix:
    
     arch/x86/kernel/ftrace.c: Assembler messages:
     arch/x86/kernel/ftrace.c:140: Error: missing ')'
     arch/x86/kernel/ftrace.c:140: Error: junk `(%ebp))' after expression
     arch/x86/kernel/ftrace.c:141: Error: missing ')'
     arch/x86/kernel/ftrace.c:141: Error: junk `(%ebp))' after expression
    
    the [parent_replaced] is used in an =rm fashion, so that constraint
    is correct in isolation - but [parent_old] aliases register %0 and uses
    it in an addressing mode that is only valid with registers - so change
    the constraint from =rm to =r.
    
    This fixes the build failure.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index d68033bba223..9b2325a4d53c 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -151,7 +151,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
 		"   .long 2b, 3b\n"
 		".previous\n"
 
-		: [parent_replaced] "=rm" (parent), [old] "=r" (old),
+		: [parent_replaced] "=r" (parent), [old] "=r" (old),
 		  [faulted] "=r" (faulted)
 		: [parent_old] "0" (parent), [return_hooker] "r" (return_hooker)
 		: "memory"

commit f1c4be5edad3756212cbbbeab39428fe90c27109
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Nov 11 10:22:36 2008 +0100

    tracing, x86: clean up FUNCTION_RET_TRACER Kconfig
    
    Impact: cleanup
    
    move FUNCTION_RET_TRACER to the X86 select section, where we have all the
    other options.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ca91e50bdb10..0de793cf2144 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -11,7 +11,6 @@ config 64BIT
 
 config X86_32
 	def_bool !64BIT
-	select HAVE_FUNCTION_RET_TRACER
 
 config X86_64
 	def_bool 64BIT
@@ -30,6 +29,7 @@ config X86
 	select HAVE_FTRACE_MCOUNT_RECORD
 	select HAVE_DYNAMIC_FTRACE
 	select HAVE_FUNCTION_TRACER
+	select HAVE_FUNCTION_RET_TRACER if X86_32
 	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
 	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
 	select HAVE_ARCH_KGDB if !X86_VOYAGER

commit d844222a54c33a960755b44b934cd1b01b05dceb
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Nov 11 09:58:36 2008 +0100

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

commit e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9
Merge: a309720c876d 45b86a96f17c
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Nov 11 09:40:18 2008 +0100

    Merge branch 'tracing/urgent' into tracing/ftrace
    
    Conflicts:
            kernel/trace/trace.c

diff --cc kernel/trace/trace.c
index f147f198b9a6,697eda36b86a..0c22fe2d43a7
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@@ -2835,7 -2676,8 +2835,7 @@@ tracing_entries_write(struct file *filp
  {
  	unsigned long val;
  	char buf[64];
- 	int ret;
+ 	int ret, cpu;
 -	struct trace_array *tr = filp->private_data;
  
  	if (cnt >= sizeof(buf))
  		return -EINVAL;
@@@ -2855,8 -2697,21 +2855,16 @@@
  
  	mutex_lock(&trace_types_lock);
  
 -	if (tr->ctrl) {
 -		cnt = -EBUSY;
 -		pr_info("ftrace: please disable tracing"
 -			" before modifying buffer size\n");
 -		goto out;
 -	}
 +	tracing_stop();
  
+ 	/* disable all cpu buffers */
+ 	for_each_tracing_cpu(cpu) {
+ 		if (global_trace.data[cpu])
+ 			atomic_inc(&global_trace.data[cpu]->disabled);
+ 		if (max_tr.data[cpu])
+ 			atomic_inc(&max_tr.data[cpu]->disabled);
+ 	}
+ 
  	if (val != global_trace.entries) {
  		ret = ring_buffer_resize(global_trace.buffer, val);
  		if (ret < 0) {
@@@ -2888,7 -2743,13 +2896,14 @@@
  	if (tracing_disabled)
  		cnt = -ENOMEM;
   out:
+ 	for_each_tracing_cpu(cpu) {
+ 		if (global_trace.data[cpu])
+ 			atomic_dec(&global_trace.data[cpu]->disabled);
+ 		if (max_tr.data[cpu])
+ 			atomic_dec(&max_tr.data[cpu]->disabled);
+ 	}
+ 
 +	tracing_start();
  	max_tr.entries = global_trace.entries;
  	mutex_unlock(&trace_types_lock);
  

commit 45b86a96f17cb2900f291129b0e67287400e45b2
Merge: 072ba49838b4 4143c5cb3633
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Nov 11 09:16:20 2008 +0100

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

commit ae1e9130bfb9ad55eb97ec3fb17a122b7a118f98
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Nov 11 09:05:16 2008 +0100

    sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER
    
    Impact: cleanup, change .config option name
    
    We had this ugly config name for a long time for hysteric raisons.
    Rename it to a saner name.
    
    We still cannot get rid of it completely, until /proc/<pid>/stack
    usage replaces WCHAN usage for good.
    
    We'll be able to do that in the v2.6.29/v2.6.30 timeframe.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 27eec71429b0..59d12788b60c 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -99,7 +99,7 @@ config GENERIC_IOMAP
 	bool
 	default y
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
 	bool
 	default y
 
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index dbaed4a63815..29047d5c259a 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -273,7 +273,7 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
         bool
         default y
 
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index f4af967a6b30..a5255e7c79e0 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -653,7 +653,7 @@ config GENERIC_CMOS_UPDATE
 	bool
 	default y
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
 	bool
 	default y
 
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 525c13a4de93..adb23ea1c1ef 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -141,7 +141,7 @@ config GENERIC_NVRAM
 	bool
 	default y if PPC32
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
 	bool
 	default y
 
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1d5550d19b66..74db682ec1ce 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -364,7 +364,7 @@ config X86_RDC321X
 	  as R-8610-(G).
 	  If you don't have one of these chips, you should say N here.
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
 	def_bool y
 	prompt "Single-depth WCHAN output"
 	depends on X86
diff --git a/include/asm-m32r/system.h b/include/asm-m32r/system.h
index 70a57c8c002b..c980f5ba8de7 100644
--- a/include/asm-m32r/system.h
+++ b/include/asm-m32r/system.h
@@ -23,7 +23,7 @@
  */
 
 #if defined(CONFIG_FRAME_POINTER) || \
-	!defined(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER)
+	!defined(CONFIG_SCHED_OMIT_FRAME_POINTER)
 #define M32R_PUSH_FP "	push fp\n"
 #define M32R_POP_FP  "	pop  fp\n"
 #else
diff --git a/kernel/Makefile b/kernel/Makefile
index e1af03972148..46e67a398495 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -91,7 +91,7 @@ obj-$(CONFIG_FUNCTION_TRACER) += trace/
 obj-$(CONFIG_TRACING) += trace/
 obj-$(CONFIG_SMP) += sched_cpupri.o
 
-ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y)
+ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
 # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
 # needed for x86 only.  Why this used to be enabled for all architectures is beyond
 # me.  I suspect most platforms don't need this, but until we know that for sure

commit 4ecd33d930591d41fe356160593a9076467b961c
Merge: 7d5a78cd98c3 f7160c757361
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Nov 10 09:16:27 2008 +0100

    Merge commit 'v2.6.28-rc4' into x86/apic

commit a5a64498c194c82ecad3a2d67cff6231cda8d3dd
Merge: bb93d802ae5c f7160c757361
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Nov 10 09:10:44 2008 +0100

    Merge commit 'v2.6.28-rc4' into timers/rtc
    
    Conflicts:
            drivers/rtc/rtc-cmos.c

commit 87135d92b4ae73208c53242f3cfec5b20b772cb3
Merge: 4fcc50abdffb f7160c757361
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Nov 10 08:41:38 2008 +0100

    Merge commit 'v2.6.28-rc4' into x86/cleanups

commit f131e2436ddbac2527bb2d6297a823aae4b024f8
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Nov 8 09:57:40 2008 +0100

    irq: fix typo
    
    Impact: build fix
    
    fix build failure on UP.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 948a22a2c013..435861284e4c 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -159,7 +159,7 @@ int irq_select_affinity_usr(unsigned int irq)
 }
 
 #else
-static inline int do_select_irq_affinity(int irq, struct irq_desc *desc)
+static inline int do_irq_select_affinity(int irq, struct irq_desc *desc)
 {
 	return 0;
 }