diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 2 | ||||
-rw-r--r-- | lib/Makefile | 9 | ||||
-rw-r--r-- | lib/smp_processor_id.c | 6 |
3 files changed, 14 insertions, 3 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index d2099f41aa1e..d8b6279a9b42 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -634,6 +634,8 @@ config LATENCYTOP | |||
634 | Enable this option if you want to use the LatencyTOP tool | 634 | Enable this option if you want to use the LatencyTOP tool |
635 | to find out which userspace is blocking on what kernel operations. | 635 | to find out which userspace is blocking on what kernel operations. |
636 | 636 | ||
637 | source kernel/trace/Kconfig | ||
638 | |||
637 | config PROVIDE_OHCI1394_DMA_INIT | 639 | config PROVIDE_OHCI1394_DMA_INIT |
638 | bool "Remote debugging over FireWire early on boot" | 640 | bool "Remote debugging over FireWire early on boot" |
639 | depends on PCI && X86 | 641 | depends on PCI && X86 |
diff --git a/lib/Makefile b/lib/Makefile index 74b0cfb1fcc3..4b836a53c08f 100644 --- a/lib/Makefile +++ b/lib/Makefile | |||
@@ -8,6 +8,15 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \ | |||
8 | sha1.o irq_regs.o reciprocal_div.o argv_split.o \ | 8 | sha1.o irq_regs.o reciprocal_div.o argv_split.o \ |
9 | proportions.o prio_heap.o ratelimit.o | 9 | proportions.o prio_heap.o ratelimit.o |
10 | 10 | ||
11 | ifdef CONFIG_FTRACE | ||
12 | # Do not profile string.o, since it may be used in early boot or vdso | ||
13 | CFLAGS_REMOVE_string.o = -pg | ||
14 | # Also do not profile any debug utilities | ||
15 | CFLAGS_REMOVE_spinlock_debug.o = -pg | ||
16 | CFLAGS_REMOVE_list_debug.o = -pg | ||
17 | CFLAGS_REMOVE_debugobjects.o = -pg | ||
18 | endif | ||
19 | |||
11 | lib-$(CONFIG_MMU) += ioremap.o | 20 | lib-$(CONFIG_MMU) += ioremap.o |
12 | lib-$(CONFIG_SMP) += cpumask.o | 21 | lib-$(CONFIG_SMP) += cpumask.o |
13 | 22 | ||
diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c index 6c90fb90e19c..3b4dc098181e 100644 --- a/lib/smp_processor_id.c +++ b/lib/smp_processor_id.c | |||
@@ -7,7 +7,7 @@ | |||
7 | #include <linux/kallsyms.h> | 7 | #include <linux/kallsyms.h> |
8 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
9 | 9 | ||
10 | unsigned int debug_smp_processor_id(void) | 10 | notrace unsigned int debug_smp_processor_id(void) |
11 | { | 11 | { |
12 | unsigned long preempt_count = preempt_count(); | 12 | unsigned long preempt_count = preempt_count(); |
13 | int this_cpu = raw_smp_processor_id(); | 13 | int this_cpu = raw_smp_processor_id(); |
@@ -37,7 +37,7 @@ unsigned int debug_smp_processor_id(void) | |||
37 | /* | 37 | /* |
38 | * Avoid recursion: | 38 | * Avoid recursion: |
39 | */ | 39 | */ |
40 | preempt_disable(); | 40 | preempt_disable_notrace(); |
41 | 41 | ||
42 | if (!printk_ratelimit()) | 42 | if (!printk_ratelimit()) |
43 | goto out_enable; | 43 | goto out_enable; |
@@ -49,7 +49,7 @@ unsigned int debug_smp_processor_id(void) | |||
49 | dump_stack(); | 49 | dump_stack(); |
50 | 50 | ||
51 | out_enable: | 51 | out_enable: |
52 | preempt_enable_no_resched(); | 52 | preempt_enable_no_resched_notrace(); |
53 | out: | 53 | out: |
54 | return this_cpu; | 54 | return this_cpu; |
55 | } | 55 | } |