Li Zefan
093419971e
blktrace: print human-readable act_mask
...
Impact: new feature, allow symbolic values in /debug/tracing/act_mask
Print stringified act_mask instead of hex value:
# cat act_mask
read,write,barrier,sync,queue,requeue,issue,complete,fs,pc,ahead,meta,
discard,drv_data
# echo "meta,write" > act_mask
# cat act_mask
write,meta
Also:
- make act_mask accept "ahead", "meta", "discard" and "drv_data"
- use strsep() instead of strchr() to parse user input
- return -EINVAL if a token is not found in the mask map
- fix a bug that 'value' is unsigned, so it can < 0
- propagate error value of blk_trace_mask2str() to userspace, but not
always return -ENXIO.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
LKML-Reference: <49C8AB42.1000802@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-24 13:09:00 +01:00
Li Zefan
e0dc81bec0
blktrace: fix t_error()
...
Impact: fix error flag output
t_error() should return t->error but not t->sector.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
LKML-Reference: <49C8945F.5020802@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-24 13:09:00 +01:00
Li Zefan
65796348e0
blktrace: fix wrong calculation of RWBS
...
Impact: fix the output of IO type category characters
Trace categories are the upper 16 bits, not the lower 16 bits.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
LKML-Reference: <49C89432.8010805@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-24 13:08:59 +01:00
Li Zefan
e4955c9986
blktrace: mark ddir_act[] const
...
Impact: cleanup
ddir_act and what2act always stay immutable.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
LKML-Reference: <49C89415.5080503@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-24 13:08:59 +01:00
Li Zefan
b125130b22
blktrace: avoid accessing NULL bdev->bd_disk
...
bdev->bd_disk can be NULL, if the block device is not opened.
Try this against an unmounted partition, and you'll see NULL dereference:
# echo 1 > /sys/block/sda/sda5/enable
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C30098.6080107@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:17:24 +01:00
Li Zefan
cd649b8bb8
blktrace: remove sysfs_blk_trace_enable_show/store()
...
sysfs_blk_trace_enable_show()/store() share most of code with
sysfs_blk_trace_attr_show()/store().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C30EA3.1060004@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:17:08 +01:00
Li Zefan
15152e448b
blktrace: report EBUSY correctly
...
blk_trace_remove_queue() returns EINVAL if q->blk_trace == NULL,
but blk_trace_setup_queue() doesn't return EBUSY if
q->blk_trace != NULL.
# echo 0 > sdaX/trace/enable
# echo 0 > sdaX/trace/enable
bash: echo: write error: Invalid argument
# echo 1 > sdaX/trace/enable
# echo 1 > sdaX/trace/enable
(should return EBUSY)
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F614.2010101@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:54 +01:00
Li Zefan
cbe28296eb
blktrace: don't increase blk_probes_ref if failed to setup blk trace
...
do_blk_trace_setup() may return EBUSY, but the current code
doesn't decrease blk_probes_ref in this case.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F5FF.80002@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:37 +01:00
Li Zefan
3c289ba7c3
blktrace: remove blk_probe_mutex
...
blk_register_tracepoints() always returns 0, so make it return void,
thus we don't need to use blk_probe_mutex to protect blk_probes_ref.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F5EA.8060606@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:25 +01:00
Li Zefan
5006ea73f3
blktrace: make blk_tracer_enabled a bool flag
...
It doesn't have to be a counter, and it can be a bool flag instead.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <49C2F5D3.8090104@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:13 +01:00
Li Zefan
1a17662ea0
blktrace: fix possible memory leak
...
When we failed to create "block" debugfs dir, we should do some
cleanups.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F5B2.8000800@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:15:47 +01:00
Steven Rostedt
4ca5308523
tracing: protect reader of cmdline output
...
Impact: fix to one cause of incorrect comm outputs in trace
The spinlock only protected the creation of a comm <=> pid pair.
But it was possible that a reader could look up a pid, and get the
wrong comm because it had no locking.
This also required changing trace_find_cmdline to copy the comm cache
and not just send back a pointer to it.
Signed-off-by: Steven Rostedt <srostedt@redhat.com >
2009-03-16 23:27:06 -04:00
Ingo Molnar
e2b8b28085
Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
2009-03-10 22:55:31 +01:00
Steven Rostedt
ef18012b24
tracing: remove funky whitespace in the trace code
...
Impact: clean up
There existed a lot of <space><tab>'s in the tracing code. This
patch removes them.
Signed-off-by: Steven Rostedt <srostedt@redhat.com >
2009-03-10 14:13:14 -04:00
Ingo Molnar
f0ef039851
Merge branch 'x86/core' into tracing/textedit
...
Conflicts:
arch/x86/Kconfig
block/blktrace.c
kernel/irq/handle.c
Semantic conflict:
kernel/trace/blktrace.c
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-06 16:45:01 +01:00
Steven Rostedt
5fd73f8624
tracing: remove extra latency_trace method from trace structure
...
Impact: clean up
The trace and latency_trace function pointers are identical for
every tracer but the function tracer. The differences in the function
tracer are trivial (latency output puts paranthesis around parent).
This patch removes the latency_trace pointer and all prints will
now just use the trace output function pointer.
Signed-off-by: Steven Rostedt <srostedt@redhat.com >
2009-03-04 21:42:04 -05:00
Ingo Molnar
72c26c9a26
Merge branch 'linus' into tracing/blktrace
...
Conflicts:
block/blktrace.c
Semantic merge:
kernel/trace/blktrace.c
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-02-19 09:00:35 +01:00
Frederic Weisbecker
2db270a80b
tracing/blktrace: move the tracing file to kernel/trace
...
Impact: cleanup
Move blktrace.c to kernel/trace, also move its config entry.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Acked-by: Jens Axboe <jens.axboe@oracle.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-02-09 10:51:02 +01:00