Patches contributed by Eötvös Lorand University


commit 0c4b83da58ec2e96ce9c44c211d6eac5f9dae478
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Oct 20 14:27:43 2008 +0200

    sched: disable the hrtick for now
    
    David Miller reported that hrtick update overhead has tripled the
    wakeup overhead on Sparc64.
    
    That is too much - disable the HRTICK feature for now by default,
    until a faster implementation is found.
    
    Reported-by: David Miller <davem@davemloft.net>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/sched_features.h b/kernel/sched_features.h
index 7c9e8f4a049f..fda016218296 100644
--- a/kernel/sched_features.h
+++ b/kernel/sched_features.h
@@ -5,7 +5,7 @@ SCHED_FEAT(START_DEBIT, 1)
 SCHED_FEAT(AFFINE_WAKEUPS, 1)
 SCHED_FEAT(CACHE_HOT_BUDDY, 1)
 SCHED_FEAT(SYNC_WAKEUPS, 1)
-SCHED_FEAT(HRTICK, 1)
+SCHED_FEAT(HRTICK, 0)
 SCHED_FEAT(DOUBLE_TICK, 0)
 SCHED_FEAT(ASYM_GRAN, 1)
 SCHED_FEAT(LB_BIAS, 1)

commit 3e10e879a8c334a5927d800a3663a24d562cfa31
Merge: 98d9c66ab074 0cfd81031a26
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sun Oct 19 19:04:47 2008 +0200

    Merge branch 'linus' into tracing-v28-for-linus-v3
    
    Conflicts:
            init/main.c
            kernel/module.c
            scripts/bootgraph.pl

diff --cc kernel/module.c
index 7576c2d9462f,25bc9ac9e226..0d8d21ee792c
--- a/kernel/module.c
+++ b/kernel/module.c
@@@ -1836,9 -1860,7 +1865,10 @@@ static noinline struct module *load_mod
  #endif
  	unsigned int markersindex;
  	unsigned int markersstringsindex;
+ 	unsigned int verboseindex;
 +	unsigned int tracepointsindex;
 +	unsigned int tracepointsstringsindex;
 +	unsigned int mcountindex;
  	struct module *mod;
  	long err = 0;
  	void *percpu = NULL, *ptr = NULL; /* Stops spurious gcc warning */
@@@ -2126,12 -2155,7 +2164,13 @@@
  	markersindex = find_sec(hdr, sechdrs, secstrings, "__markers");
   	markersstringsindex = find_sec(hdr, sechdrs, secstrings,
  					"__markers_strings");
+ 	verboseindex = find_sec(hdr, sechdrs, secstrings, "__verbose");
 +	tracepointsindex = find_sec(hdr, sechdrs, secstrings, "__tracepoints");
 +	tracepointsstringsindex = find_sec(hdr, sechdrs, secstrings,
 +					"__tracepoints_strings");
 +
 +	mcountindex = find_sec(hdr, sechdrs, secstrings,
 +			       "__mcount_loc");
  
  	/* Now do relocations. */
  	for (i = 1; i < hdr->e_shnum; i++) {
@@@ -2188,16 -2205,8 +2227,17 @@@
  		marker_update_probe_range(mod->markers,
  			mod->markers + mod->num_markers);
  #endif
+ 	dynamic_printk_setup(sechdrs, verboseindex);
 +#ifdef CONFIG_TRACEPOINTS
 +		tracepoint_update_probe_range(mod->tracepoints,
 +			mod->tracepoints + mod->num_tracepoints);
 +#endif
 +	}
 +
 +	/* sechdrs[0].sh_size is always zero */
 +	mseg = (void *)sechdrs[mcountindex].sh_addr;
 +	ftrace_init_module(mseg, mseg + sechdrs[mcountindex].sh_size);
 +
  	err = module_finalize(hdr, sechdrs, mod);
  	if (err < 0)
  		goto cleanup;

commit 0f1f6dec9593c8319714c927dafb443548a1452a
Merge: 8cd162ce230b 2e532d68a2b3
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Oct 17 12:25:43 2008 +0200

    Merge branch 'linus' into sched/urgent

commit 8cf7d362c0dc2cfda2146d184eedc32a530c8020
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Oct 17 11:25:23 2008 +0200

    profiling: fix !procfs build
    
    fix:
    
     kernel/built-in.o: In function `profiling_store':
     ksysfs.c:(.text+0x1f90c): undefined reference to `create_proc_profile'
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/profile.h b/include/linux/profile.h
index 570045053ce9..e3eca8577a38 100644
--- a/include/linux/profile.h
+++ b/include/linux/profile.h
@@ -37,7 +37,14 @@ extern int prof_on __read_mostly;
 /* init basic kernel profiler */
 int profile_init(void);
 int profile_setup(char *str);
+#ifdef CONFIG_PROC_FS
 int create_proc_profile(void);
+#else
+static inline int create_proc_profile(void)
+{
+	return 0;
+}
+#endif
 void profile_tick(int type);
 
 /*

commit 52f4f324c727e77507ae0490b08fc92e140ba57d
Merge: 3baf63a50709 2e532d68a2b3
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Oct 17 11:20:52 2008 +0200

    Merge branch 'linus' into core/urgent

commit 3baf63a507094992a5bf238ba3bcea71f458b1e8
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Oct 16 19:00:57 2008 +0200

    m32r: fix build due to notify_cpu_starting() change
    
    fix:
    
    arch/m32r/kernel/smpboot.c:501: err
    or: implicit declaration of function 'notify_cpu_starting'
    make[2]: *** [arch/m32r/kernel/smpboot.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c
index fc2994811f15..39cb6da72dcb 100644
--- a/arch/m32r/kernel/smpboot.c
+++ b/arch/m32r/kernel/smpboot.c
@@ -40,6 +40,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/cpu.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>

commit cc8e920aaf5558f87851169b33c420cc4516c253
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Oct 16 17:05:27 2008 +0200

    intr_remapping: fix typo
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c
index 950769e87475..d6040dd3ff5b 100644
--- a/drivers/pci/intr_remapping.c
+++ b/drivers/pci/intr_remapping.c
@@ -23,7 +23,7 @@ static struct irq_2_iommu irq_2_iommuX[NR_IRQS];
 
 static struct irq_2_iommu *irq_2_iommu(unsigned int irq)
 {
-	return (irq < nr_irqs) ?: irq_2_iommuX + irq : NULL;
+	return (irq < nr_irqs) ? irq_2_iommuX + irq : NULL;
 }
 
 static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq)

commit 10e0298686be6249b0665465737a6b83446c4d35
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Oct 16 17:04:22 2008 +0200

    io_apic: make irq_mis_count available on 64-bit too
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index 6f80dc2f137e..b764d7429c61 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -2277,9 +2277,7 @@ static void ack_apic_edge(unsigned int irq)
 	ack_APIC_irq();
 }
 
-#ifdef CONFIG_X86_32
 atomic_t irq_mis_count;
-#endif
 
 static void ack_apic_level(unsigned int irq)
 {

commit a1aca5de08a0cb840a90fb3f729a5940f8d21185
Author: Ingo Molnar <mingo@elte.hu>
Date:   Wed Oct 15 19:29:15 2008 +0200

    genirq: remove artifacts from sparseirq removal
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/Kconfig b/arch/Kconfig
index 071004d3a1b1..0267babe5eb9 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -102,3 +102,4 @@ config HAVE_CLK
 	help
 	  The <linux/clk.h> calls support software clock gating and
 	  thus are a key power management tool on many systems.
+
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 5fef4fece4a5..0d1c26a583c5 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1254,7 +1254,6 @@ static int __init acpi_parse_madt_ioapic_entries(void)
 		return count;
 	}
 
-
 	count =
 	    acpi_table_parse_madt(ACPI_MADT_TYPE_INTERRUPT_OVERRIDE, acpi_parse_int_src_ovr,
 				  nr_irqs);
diff --git a/arch/x86/kernel/irqinit_32.c b/arch/x86/kernel/irqinit_32.c
index a8d35998d308..845aa9803e80 100644
--- a/arch/x86/kernel/irqinit_32.c
+++ b/arch/x86/kernel/irqinit_32.c
@@ -184,4 +184,3 @@ void __init native_init_IRQ(void)
 
 	irq_ctx_init(smp_processor_id());
 }
-
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S
index 3245ad72594a..46e05447405b 100644
--- a/arch/x86/kernel/vmlinux_64.lds.S
+++ b/arch/x86/kernel/vmlinux_64.lds.S
@@ -173,7 +173,6 @@ SECTIONS
 	*(.x86_cpu_dev.init)
   }
   __x86_cpu_dev_end = .;
-
   SECURITY_INIT
 
   . = ALIGN(8);
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 91343c2694b4..8396868e82c5 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -66,7 +66,6 @@ static unsigned long __meminitdata table_end;
 static unsigned long __meminitdata table_top;
 
 static int __initdata after_init_bootmem;
-int after_bootmem;
 
 static __init void *alloc_low_page(unsigned long *phys)
 {
@@ -989,8 +988,6 @@ void __init mem_init(void)
 
 	set_highmem_pages_init();
 
-	after_bootmem = 1;
-
 	codesize =  (unsigned long) &_etext - (unsigned long) &_text;
 	datasize =  (unsigned long) &_edata - (unsigned long) &_etext;
 	initsize =  (unsigned long) &__init_end - (unsigned long) &__init_begin;
diff --git a/include/linux/init.h b/include/linux/init.h
index 70ad53e1eab8..93538b696e3d 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -246,7 +246,6 @@ struct obs_kernel_param {
 
 /* Relies on boot_command_line being set */
 void __init parse_early_param(void);
-
 #endif /* __ASSEMBLY__ */
 
 /**
diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
index a9d0d360b776..89b6ecd41473 100644
--- a/include/linux/kernel_stat.h
+++ b/include/linux/kernel_stat.h
@@ -28,7 +28,7 @@ struct cpu_usage_stat {
 
 struct kernel_stat {
 	struct cpu_usage_stat	cpustat;
-       unsigned int irqs[NR_IRQS];
+	unsigned int irqs[NR_IRQS];
 };
 
 DECLARE_PER_CPU(struct kernel_stat, kstat);

commit 37762b6ffb37f9e21cbc6f80902aa06b7a053fd7
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Oct 3 11:38:37 2008 +0200

    x86, UV: add uv_setup_irq() and uv_teardown_irq() functions, v3, fix
    
    fix:
    
     arch/x86/kernel/uv_irq.c: In function 'uv_ack_apic':
     arch/x86/kernel/uv_irq.c:26: error: implicit declaration of function 'ack_APIC_irq'
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/kernel/uv_irq.c b/arch/x86/kernel/uv_irq.c
index 6bd26c91c30b..aeef529917e4 100644
--- a/arch/x86/kernel/uv_irq.c
+++ b/arch/x86/kernel/uv_irq.c
@@ -10,6 +10,8 @@
 
 #include <linux/module.h>
 #include <linux/irq.h>
+
+#include <asm/apic.h>
 #include <asm/uv/uv_irq.h>
 
 static void uv_noop(unsigned int irq)