diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/resource.c | 4 | ||||
| -rw-r--r-- | kernel/sched_debug.c | 2 | ||||
| -rw-r--r-- | kernel/trace/trace.c | 7 | ||||
| -rw-r--r-- | kernel/trace/trace.h | 20 |
4 files changed, 21 insertions, 12 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index 7fec0e427234..6aac5c60b25d 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 | ||
| @@ -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 a610ca771558..8a499e2adaec 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
| @@ -656,7 +656,11 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, | |||
| 656 | entry->preempt_count = pc & 0xff; | 656 | entry->preempt_count = pc & 0xff; |
| 657 | entry->pid = (tsk) ? tsk->pid : 0; | 657 | entry->pid = (tsk) ? tsk->pid : 0; |
| 658 | entry->flags = | 658 | entry->flags = |
| 659 | #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT | ||
| 659 | (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) | | 660 | (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) | |
| 661 | #else | ||
| 662 | TRACE_FLAG_IRQS_NOSUPPORT | | ||
| 663 | #endif | ||
| 660 | ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) | | 664 | ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) | |
| 661 | ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) | | 665 | ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) | |
| 662 | (need_resched() ? TRACE_FLAG_NEED_RESCHED : 0); | 666 | (need_resched() ? TRACE_FLAG_NEED_RESCHED : 0); |
| @@ -1244,7 +1248,8 @@ lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu) | |||
| 1244 | trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid); | 1248 | trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid); |
| 1245 | trace_seq_printf(s, "%3d", cpu); | 1249 | trace_seq_printf(s, "%3d", cpu); |
| 1246 | trace_seq_printf(s, "%c%c", | 1250 | trace_seq_printf(s, "%c%c", |
| 1247 | (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' : '.', | 1251 | (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' : |
| 1252 | (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ? 'X' : '.', | ||
| 1248 | ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.')); | 1253 | ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.')); |
| 1249 | 1254 | ||
| 1250 | hardirq = entry->flags & TRACE_FLAG_HARDIRQ; | 1255 | 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 |
