diff options
-rw-r--r-- | block/Kconfig | 24 | ||||
-rw-r--r-- | block/Makefile | 1 | ||||
-rw-r--r-- | kernel/trace/Kconfig | 23 | ||||
-rw-r--r-- | kernel/trace/Makefile | 1 | ||||
-rw-r--r-- | kernel/trace/blktrace.c (renamed from block/blktrace.c) | 2 |
5 files changed, 25 insertions, 26 deletions
diff --git a/block/Kconfig b/block/Kconfig index 7cdaa1d72252..e7d12782bcfb 100644 --- a/block/Kconfig +++ b/block/Kconfig | |||
@@ -44,30 +44,6 @@ config LBD | |||
44 | 44 | ||
45 | If unsure, say N. | 45 | If unsure, say N. |
46 | 46 | ||
47 | config BLK_DEV_IO_TRACE | ||
48 | bool "Support for tracing block io actions" | ||
49 | depends on SYSFS | ||
50 | select RELAY | ||
51 | select DEBUG_FS | ||
52 | select TRACEPOINTS | ||
53 | select TRACING | ||
54 | select STACKTRACE | ||
55 | help | ||
56 | Say Y here if you want to be able to trace the block layer actions | ||
57 | on a given queue. Tracing allows you to see any traffic happening | ||
58 | on a block device queue. For more information (and the userspace | ||
59 | support tools needed), fetch the blktrace tools from: | ||
60 | |||
61 | git://git.kernel.dk/blktrace.git | ||
62 | |||
63 | Tracing also is possible using the ftrace interface, e.g.: | ||
64 | |||
65 | echo 1 > /sys/block/sda/sda1/trace/enable | ||
66 | echo blk > /sys/kernel/debug/tracing/current_tracer | ||
67 | cat /sys/kernel/debug/tracing/trace_pipe | ||
68 | |||
69 | If unsure, say N. | ||
70 | |||
71 | config BLK_DEV_BSG | 47 | config BLK_DEV_BSG |
72 | bool "Block layer SG support v4 (EXPERIMENTAL)" | 48 | bool "Block layer SG support v4 (EXPERIMENTAL)" |
73 | depends on EXPERIMENTAL | 49 | depends on EXPERIMENTAL |
diff --git a/block/Makefile b/block/Makefile index bfe73049f939..e9fa4dd690f2 100644 --- a/block/Makefile +++ b/block/Makefile | |||
@@ -13,6 +13,5 @@ obj-$(CONFIG_IOSCHED_AS) += as-iosched.o | |||
13 | obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o | 13 | obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o |
14 | obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o | 14 | obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o |
15 | 15 | ||
16 | obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o | ||
17 | obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o | 16 | obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o |
18 | obj-$(CONFIG_BLK_DEV_INTEGRITY) += blk-integrity.o | 17 | obj-$(CONFIG_BLK_DEV_INTEGRITY) += blk-integrity.o |
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index 25131a5d5e4f..4fee43c01942 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -302,6 +302,29 @@ config WORKQUEUE_TRACER | |||
302 | For example it can help a developer to decide whether he should | 302 | For example it can help a developer to decide whether he should |
303 | choose a per cpu workqueue instead of a singlethreaded one. | 303 | choose a per cpu workqueue instead of a singlethreaded one. |
304 | 304 | ||
305 | config BLK_DEV_IO_TRACE | ||
306 | bool "Support for tracing block io actions" | ||
307 | depends on SYSFS | ||
308 | select RELAY | ||
309 | select DEBUG_FS | ||
310 | select TRACEPOINTS | ||
311 | select TRACING | ||
312 | select STACKTRACE | ||
313 | help | ||
314 | Say Y here if you want to be able to trace the block layer actions | ||
315 | on a given queue. Tracing allows you to see any traffic happening | ||
316 | on a block device queue. For more information (and the userspace | ||
317 | support tools needed), fetch the blktrace tools from: | ||
318 | |||
319 | git://git.kernel.dk/blktrace.git | ||
320 | |||
321 | Tracing also is possible using the ftrace interface, e.g.: | ||
322 | |||
323 | echo 1 > /sys/block/sda/sda1/trace/enable | ||
324 | echo blk > /sys/kernel/debug/tracing/current_tracer | ||
325 | cat /sys/kernel/debug/tracing/trace_pipe | ||
326 | |||
327 | If unsure, say N. | ||
305 | 328 | ||
306 | config DYNAMIC_FTRACE | 329 | config DYNAMIC_FTRACE |
307 | bool "enable/disable ftrace tracepoints dynamically" | 330 | bool "enable/disable ftrace tracepoints dynamically" |
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile index f76d48f3527d..627090bc262d 100644 --- a/kernel/trace/Makefile +++ b/kernel/trace/Makefile | |||
@@ -37,5 +37,6 @@ obj-$(CONFIG_HW_BRANCH_TRACER) += trace_hw_branches.o | |||
37 | obj-$(CONFIG_POWER_TRACER) += trace_power.o | 37 | obj-$(CONFIG_POWER_TRACER) += trace_power.o |
38 | obj-$(CONFIG_KMEMTRACE) += kmemtrace.o | 38 | obj-$(CONFIG_KMEMTRACE) += kmemtrace.o |
39 | obj-$(CONFIG_WORKQUEUE_TRACER) += trace_workqueue.o | 39 | obj-$(CONFIG_WORKQUEUE_TRACER) += trace_workqueue.o |
40 | obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o | ||
40 | 41 | ||
41 | libftrace-y := ftrace.o | 42 | libftrace-y := ftrace.o |
diff --git a/block/blktrace.c b/kernel/trace/blktrace.c index ca6d32061e4f..3b91da064820 100644 --- a/block/blktrace.c +++ b/kernel/trace/blktrace.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/time.h> | 25 | #include <linux/time.h> |
26 | #include <trace/block.h> | 26 | #include <trace/block.h> |
27 | #include <linux/uaccess.h> | 27 | #include <linux/uaccess.h> |
28 | #include <../kernel/trace/trace_output.h> | 28 | #include "trace_output.h" |
29 | 29 | ||
30 | static unsigned int blktrace_seq __read_mostly = 1; | 30 | static unsigned int blktrace_seq __read_mostly = 1; |
31 | 31 | ||