Patches contributed by Eötvös Lorand University


commit a208f37a465e222218974ab20a31b42b7b4893b2
Merge: 511d9d341836 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 22:50:34 2008 +0200

    Merge branch 'linus' into x86/x2apic

commit 0679c2f47d50651018dd5e0bf35330f6e6ae35ec
Merge: 76fbc263ff7e 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 22:39:59 2008 +0200

    Merge branch 'linus' into pci-for-jesse

diff --cc drivers/pci/probe.c
index 27cdbb06c4dd,b1724cf31b66..d2bd74ee3e08
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@@ -275,11 -275,10 +275,11 @@@ static void pci_read_bases(struct pci_d
  			}
  			res->start = l64 & PCI_BASE_ADDRESS_MEM_MASK;
  			res->end = res->start + sz64;
 +			printk(KERN_INFO "PCI: %s reg %x 64bit mmio: [%llx, %llx]\n", pci_name(dev), reg, res->start, res->end);
  #else
  			if (sz64 > 0x100000000ULL) {
- 				printk(KERN_ERR "PCI: Unable to handle 64-bit "
- 					"BAR for device %s\n", pci_name(dev));
+ 				dev_err(&dev->dev, "BAR %d: can't handle 64-bit"
+ 					" BAR\n", pos);
  				res->start = 0;
  				res->flags = 0;
  			} else if (lhi) {

commit 06f8d00e9eecb738c99b737ac38a585ea7583ad5
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 22:34:00 2008 +0200

    cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix
    
    fix typo.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c
index 9fb2df0d8dfb..c4381d9516f6 100644
--- a/lib/smp_processor_id.c
+++ b/lib/smp_processor_id.c
@@ -23,7 +23,7 @@ notrace unsigned int debug_smp_processor_id(void)
 	 * Kernel threads bound to a single CPU can safely use
 	 * smp_processor_id():
 	 */
-	cpumask_of_cpu_ptr_next(this_mask, cpu);
+	cpumask_of_cpu_ptr_next(this_mask, this_cpu);
 
 	if (cpus_equal(current->cpus_allowed, *this_mask))
 		goto out;

commit bb2c018b09b681d43f5e08124b83e362647ea82b
Merge: 82638844d9a8 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 22:00:54 2008 +0200

    Merge branch 'linus' into cpus4096
    
    Conflicts:
    
            drivers/acpi/processor_throttling.c
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --cc drivers/acpi/processor_throttling.c
index 28509fbba6f9,0622ace05220..a56fc6c4394b
--- a/drivers/acpi/processor_throttling.c
+++ b/drivers/acpi/processor_throttling.c
@@@ -1034,8 -1034,8 +1034,8 @@@ int acpi_processor_set_throttling(struc
  		 * it is necessary to set T-state for every affected
  		 * cpus.
  		 */
 -		for_each_cpu_mask(i, online_throttling_cpus) {
 +		for_each_cpu_mask_nr(i, online_throttling_cpus) {
- 			match_pr = processors[i];
+ 			match_pr = per_cpu(processors, i);
  			/*
  			 * If the pointer is invalid, we will report the
  			 * error message and continue.

commit f6dc8ccaab6d8f63cbae1e6c73fe972b26f5376c
Merge: 323ec001c6bb 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 21:13:20 2008 +0200

    Merge branch 'linus' into core/generic-dma-coherent
    
    Conflicts:
    
            kernel/Makefile
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --cc arch/x86/Kconfig
index 9d4714e0020c,96e0c2ebc388..18a58ecfe684
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@@ -23,9 -23,10 +23,11 @@@ config X8
  	select HAVE_OPROFILE
  	select HAVE_KPROBES
  	select HAVE_KRETPROBES
+ 	select HAVE_DYNAMIC_FTRACE
+ 	select HAVE_FTRACE
  	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
  	select HAVE_ARCH_KGDB if !X86_VOYAGER
 +	select HAVE_GENERIC_DMA_COHERENT if X86_32
  
  config ARCH_DEFCONFIG
  	string
diff --cc kernel/Makefile
index 9e287d8ab766,985ddb7da4d0..e25ee775dc91
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@@ -69,7 -81,9 +81,10 @@@ obj-$(CONFIG_TASK_DELAY_ACCT) += delaya
  obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o
  obj-$(CONFIG_MARKERS) += marker.o
  obj-$(CONFIG_LATENCYTOP) += latencytop.o
 +obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += dma-coherent.o
+ obj-$(CONFIG_FTRACE) += trace/
+ obj-$(CONFIG_TRACING) += trace/
+ obj-$(CONFIG_SMP) += sched_cpupri.o
  
  ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y)
  # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is

commit 9b610fda0df5d0f0b0c64242e37441ad1b384aac
Merge: b8f8c3cf0a4a 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 19:53:16 2008 +0200

    Merge branch 'linus' into timers/nohz

diff --cc arch/x86/kernel/process_32.c
index 1f5fa1cf16dd,0c3927accb00..53bc653ed5ca
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@@ -166,9 -128,8 +128,8 @@@ void cpu_idle(void
  
  	/* endless idle loop with no priority at all */
  	while (1) {
 -		tick_nohz_stop_sched_tick();
 +		tick_nohz_stop_sched_tick(1);
  		while (!need_resched()) {
- 			void (*idle)(void);
  
  			check_pgt_cache();
  			rmb();
diff --cc arch/x86/kernel/process_64.c
index c0a5c2a687e6,a8e53626ac9a..9a10c1897921
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@@ -148,14 -120,11 +120,11 @@@ void cpu_idle(void
  	current_thread_info()->status |= TS_POLLING;
  	/* endless idle loop with no priority at all */
  	while (1) {
 -		tick_nohz_stop_sched_tick();
 +		tick_nohz_stop_sched_tick(1);
  		while (!need_resched()) {
- 			void (*idle)(void);
  
  			rmb();
- 			idle = pm_idle;
- 			if (!idle)
- 				idle = default_idle;
+ 
  			if (cpu_is_offline(smp_processor_id()))
  				play_dead();
  			/*

commit 3e370b29d35fb01bfb92c2814d6f79bf6a2cb970
Merge: 88d1dce3a743 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 19:31:12 2008 +0200

    Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks
    
    Conflicts:
    
            drivers/pci/quirks.c
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --cc arch/x86/pci/common.c
index 00a319cd5be3,b67732bbb85a..1485a26ddcef
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@@ -20,10 -20,9 +20,11 @@@
  unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 |
  				PCI_PROBE_MMCONF;
  
+ unsigned int pci_early_dump_regs;
  static int pci_bf_sort;
  int pci_routeirq;
 +int noioapicquirk;
 +int noioapicreroute = 1;
  int pcibios_last_bus = -1;
  unsigned long pirq_table_addr;
  struct pci_bus *pci_root_bus;
diff --cc include/linux/pci.h
index 6755cf5ac109,a6a088e1a804..cfc2297c3e28
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@@ -196,10 -208,8 +213,9 @@@ struct pci_dev 
  	unsigned int	is_added:1;
  	unsigned int	is_busmaster:1; /* device is busmaster */
  	unsigned int	no_msi:1;	/* device may not use msi */
- 	unsigned int	no_d1d2:1;   /* only allow d0 or d3 */
  	unsigned int	block_ucfg_access:1;	/* userspace config space access is blocked */
  	unsigned int	broken_parity_status:1;	/* Device generates false positive parity */
 +	unsigned int	irq_reroute_variant:2;	/* device needs IRQ rerouting variant */
  	unsigned int 	msi_enabled:1;
  	unsigned int	msix_enabled:1;
  	unsigned int	is_managed:1;

commit f1b0c8d3d3b5ff9c0b14bb2383a4bc38d8922bd1
Merge: d591b0a3ae25 5b664cb235e9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 18:43:08 2008 +0200

    Merge branch 'linus' into x86/amd-iommu

commit 3f9b5cc018566ad9562df0648395649aebdbc5e0
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 16:30:05 2008 +0200

    x86: re-enable OPTIMIZE_INLINING
    
    re-enable OPTIMIZE_INLINING more widely. Jeff Dike fixed the remaining
    outstanding issue in this commit:
    
    | commit 4f81c5350b44bcc501ab6f8a089b16d064b4d2f6
    | Author: Jeff Dike <jdike@addtoit.com>
    | Date:   Mon Jul 7 13:36:56 2008 -0400
    |
    |     [UML] fix gcc ICEs and unresolved externs
    [...]
    |    This patch reintroduces unit-at-a-time for gcc >= 4.0, bringing back the
    |    possibility of Uli's crash.  If that happens, we'll debug it.
    
    it's still default-off and thus opt-in.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index ae36bfa814e5..ffd5913b35d1 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -287,7 +287,6 @@ config CPA_DEBUG
 
 config OPTIMIZE_INLINING
 	bool "Allow gcc to uninline functions marked 'inline'"
-	depends on BROKEN
 	help
 	  This option determines if the kernel forces gcc to inline the functions
 	  developers have marked 'inline'. Doing so takes away freedom from gcc to
@@ -298,5 +297,7 @@ config OPTIMIZE_INLINING
 	  become the default in the future, until then this option is there to
 	  test gcc for this.
 
+	  If unsure, say N.
+
 endmenu
 

commit 1b427c153a08fdbc092c2bdbf845b92fda58d857
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jul 18 14:01:39 2008 +0200

    sched: fix build error, provide partition_sched_domains() unconditionally
    
    provide an empty partition_sched_domains() definition for the UP case:
    
     include/linux/cpuset.h: In function ‘rebuild_sched_domains':
     include/linux/cpuset.h:163: error: implicit declaration of function ‘partition_sched_domains'
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 1941d8b5cf11..26da921530fe 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -824,7 +824,16 @@ extern void partition_sched_domains(int ndoms_new, cpumask_t *doms_new,
 				    struct sched_domain_attr *dattr_new);
 extern int arch_reinit_sched_domains(void);
 
-#endif	/* CONFIG_SMP */
+#else /* CONFIG_SMP */
+
+struct sched_domain_attr;
+
+static inline void
+partition_sched_domains(int ndoms_new, cpumask_t *doms_new,
+			struct sched_domain_attr *dattr_new)
+{
+}
+#endif	/* !CONFIG_SMP */
 
 struct io_context;			/* See blkdev.h */
 #define NGROUPS_SMALL		32