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