aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-11-03 03:11:13 -0500
committerIngo Molnar <mingo@elte.hu>2008-11-03 03:11:13 -0500
commit36609469c8278554b046aa4cc9a5fa9ccea35306 (patch)
treef59185b71c8059941de79143f71178453599b8f1 /kernel
parentb3acf29afda06c76774dc6df6246c37ae707836b (diff)
parent45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03 (diff)
Merge commit 'v2.6.28-rc3' into tracing/ftrace
Diffstat (limited to 'kernel')
-rw-r--r--kernel/power/Kconfig2
-rw-r--r--kernel/resource.c6
-rw-r--r--kernel/sched_debug.c2
-rw-r--r--kernel/trace/trace.c7
-rw-r--r--kernel/trace/trace.h20
5 files changed, 23 insertions, 14 deletions
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index dcd165f92a88..23bd4daeb96b 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -96,7 +96,7 @@ config SUSPEND
96 96
97config PM_TEST_SUSPEND 97config PM_TEST_SUSPEND
98 bool "Test suspend/resume and wakealarm during bootup" 98 bool "Test suspend/resume and wakealarm during bootup"
99 depends on SUSPEND && PM_DEBUG && RTC_LIB=y 99 depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
100 ---help--- 100 ---help---
101 This option will let you suspend your machine during bootup, and 101 This option will let you suspend your machine during bootup, and
102 make it wake up a few seconds later using an RTC wakeup alarm. 102 make it wake up a few seconds later using an RTC wakeup alarm.
diff --git a/kernel/resource.c b/kernel/resource.c
index 7fec0e427234..4337063663ef 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -17,6 +17,7 @@
17#include <linux/proc_fs.h> 17#include <linux/proc_fs.h>
18#include <linux/seq_file.h> 18#include <linux/seq_file.h>
19#include <linux/device.h> 19#include <linux/device.h>
20#include <linux/pfn.h>
20#include <asm/io.h> 21#include <asm/io.h>
21 22
22 23
@@ -522,7 +523,7 @@ static void __init __reserve_region_with_split(struct resource *root,
522{ 523{
523 struct resource *parent = root; 524 struct resource *parent = root;
524 struct resource *conflict; 525 struct resource *conflict;
525 struct resource *res = kzalloc(sizeof(*res), GFP_KERNEL); 526 struct resource *res = kzalloc(sizeof(*res), GFP_ATOMIC);
526 527
527 if (!res) 528 if (!res)
528 return; 529 return;
@@ -849,7 +850,8 @@ int iomem_map_sanity_check(resource_size_t addr, unsigned long size)
849 continue; 850 continue;
850 if (p->end < addr) 851 if (p->end < addr)
851 continue; 852 continue;
852 if (p->start <= addr && (p->end >= addr + size - 1)) 853 if (PFN_DOWN(p->start) <= PFN_DOWN(addr) &&
854 PFN_DOWN(p->end) >= PFN_DOWN(addr + size - 1))
853 continue; 855 continue;
854 printk(KERN_WARNING "resource map sanity check conflict: " 856 printk(KERN_WARNING "resource map sanity check conflict: "
855 "0x%llx 0x%llx 0x%llx 0x%llx %s\n", 857 "0x%llx 0x%llx 0x%llx 0x%llx %s\n",
diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c
index ad958c1ec708..5ae17762ec32 100644
--- a/kernel/sched_debug.c
+++ b/kernel/sched_debug.c
@@ -319,7 +319,7 @@ static int __init init_sched_debug_procfs(void)
319{ 319{
320 struct proc_dir_entry *pe; 320 struct proc_dir_entry *pe;
321 321
322 pe = proc_create("sched_debug", 0644, NULL, &sched_debug_fops); 322 pe = proc_create("sched_debug", 0444, NULL, &sched_debug_fops);
323 if (!pe) 323 if (!pe)
324 return -ENOMEM; 324 return -ENOMEM;
325 return 0; 325 return 0;
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 8741e5c4313b..bdb1df00fb10 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -678,7 +678,11 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags,
678 entry->preempt_count = pc & 0xff; 678 entry->preempt_count = pc & 0xff;
679 entry->pid = (tsk) ? tsk->pid : 0; 679 entry->pid = (tsk) ? tsk->pid : 0;
680 entry->flags = 680 entry->flags =
681#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
681 (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) | 682 (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) |
683#else
684 TRACE_FLAG_IRQS_NOSUPPORT |
685#endif
682 ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) | 686 ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) |
683 ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) | 687 ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) |
684 (need_resched() ? TRACE_FLAG_NEED_RESCHED : 0); 688 (need_resched() ? TRACE_FLAG_NEED_RESCHED : 0);
@@ -1266,7 +1270,8 @@ lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu)
1266 trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid); 1270 trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid);
1267 trace_seq_printf(s, "%3d", cpu); 1271 trace_seq_printf(s, "%3d", cpu);
1268 trace_seq_printf(s, "%c%c", 1272 trace_seq_printf(s, "%c%c",
1269 (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' : '.', 1273 (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
1274 (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ? 'X' : '.',
1270 ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.')); 1275 ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.'));
1271 1276
1272 hardirq = entry->flags & TRACE_FLAG_HARDIRQ; 1277 hardirq = entry->flags & TRACE_FLAG_HARDIRQ;
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 6889ca48f1f1..8465ad052707 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -120,18 +120,20 @@ struct trace_boot {
120/* 120/*
121 * trace_flag_type is an enumeration that holds different 121 * trace_flag_type is an enumeration that holds different
122 * states when a trace occurs. These are: 122 * states when a trace occurs. These are:
123 * IRQS_OFF - interrupts were disabled 123 * IRQS_OFF - interrupts were disabled
124 * NEED_RESCED - reschedule is requested 124 * IRQS_NOSUPPORT - arch does not support irqs_disabled_flags
125 * HARDIRQ - inside an interrupt handler 125 * NEED_RESCED - reschedule is requested
126 * SOFTIRQ - inside a softirq handler 126 * HARDIRQ - inside an interrupt handler
127 * CONT - multiple entries hold the trace item 127 * SOFTIRQ - inside a softirq handler
128 * CONT - multiple entries hold the trace item
128 */ 129 */
129enum trace_flag_type { 130enum trace_flag_type {
130 TRACE_FLAG_IRQS_OFF = 0x01, 131 TRACE_FLAG_IRQS_OFF = 0x01,
131 TRACE_FLAG_NEED_RESCHED = 0x02, 132 TRACE_FLAG_IRQS_NOSUPPORT = 0x02,
132 TRACE_FLAG_HARDIRQ = 0x04, 133 TRACE_FLAG_NEED_RESCHED = 0x04,
133 TRACE_FLAG_SOFTIRQ = 0x08, 134 TRACE_FLAG_HARDIRQ = 0x08,
134 TRACE_FLAG_CONT = 0x10, 135 TRACE_FLAG_SOFTIRQ = 0x10,
136 TRACE_FLAG_CONT = 0x20,
135}; 137};
136 138
137#define TRACE_BUF_SIZE 1024 139#define TRACE_BUF_SIZE 1024