diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-11-03 03:11:13 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-03 03:11:13 -0500 |
commit | 36609469c8278554b046aa4cc9a5fa9ccea35306 (patch) | |
tree | f59185b71c8059941de79143f71178453599b8f1 /kernel | |
parent | b3acf29afda06c76774dc6df6246c37ae707836b (diff) | |
parent | 45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03 (diff) |
Merge commit 'v2.6.28-rc3' into tracing/ftrace
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/Kconfig | 2 | ||||
-rw-r--r-- | kernel/resource.c | 6 | ||||
-rw-r--r-- | kernel/sched_debug.c | 2 | ||||
-rw-r--r-- | kernel/trace/trace.c | 7 | ||||
-rw-r--r-- | kernel/trace/trace.h | 20 |
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 | ||
97 | config PM_TEST_SUSPEND | 97 | config 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 | */ |
129 | enum trace_flag_type { | 130 | enum 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 |