Age | Commit message (Collapse) | Author |
|
Fixup for RH bugzilla 595628.
Document btt options:
-m (--seeks-per-second);
-X (--easy-parse-avgs).
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Fixup for RH bugzilla 595623
Document btreplay option -x (--acc-factor)
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Fixup for RH bugzilla 595620.
Document undocumented blktrace options.
Update the man pages.
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Fixup for RH bugzilla 595615.
Document blkparse options:
-A, --set-mask,
-a, --act-mask,
-D. --input-directory
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Fixup for RH bugzilla 595419.
Document blkiomon option -d (--dump-lldd).
Add drv_data mask description to blktrace man page.
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Fix up for RH bugzilla 595413
Mistake in the man page for btrecord:
documented option --input-base is unsupported,
supported option --max-bunch-time is undocumented.
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Document that "-o" does not work when specyfing multiple devices to
blktrace, also: enforce this by stopping blktrace when one tries do
do this.
The technical reason why "-o" doesn't work with multiple devices is
because we use multiple threads of execution - one per device/CPU pair -
and each of them opens a file named "<prefix>.blktrace.<cpu>". With the
"-o" all of the "<prefix>" values are the same - so multiple threads
open the same file and try to do output. Not good. Without the "-o"
we get unique files named: "<device>.blktrace.<cpu>" - as the tuple
(<device>,<cpu>) is unique.
Signed-off-by: Alan D. Brunelle <Alan.Brunelle@hp.com>
|
|
Fixup for 513950.
Problem:
'blktrace -d <device> -k' does not kill a running
backgound trace. Executing 'blktrace -d <device> -k'
for the second time results in "BLKTRACETEARDOWN:
Invalid argument" message and then each run of
blktrace on that machine prints the following output:
BLKTRACESETUP: No such file or directory.
The bug:
The option -k results in clobbering information
about running trace by kernel (blk_trace_remove),
while resources (files open in debugfs by the running
background blktrace) are not released.
Solution:
Update documentation:
Undocument the non-working "kill" option. Advise
to send SIGINT signall via kill(1) to the running
background blktrace for its correct termination.
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Fixup for 499398.
Description of problem:
blkiomon does not understand the output of blktrace when
working with logical volume device (it is quiet, while
working with physical device it prints IO statistics as
expected).
BUG (or design feature?):
/dev/dm-* and /dev/md* don't see BLK_TC_COMPLETE actions:
/* we need an older D trace and a younger C trace */
if (t_old->bit.action & BLK_TC_ACT(BLK_TC_ISSUE) &&
t_young->bit.action & BLK_TC_ACT(BLK_TC_COMPLETE)) {
/* matching D and C traces - update statistics */
match++;
blkiomon_account(&t_old->bit, &t_young->bit);
blkiomon_free_trace(t_stored);
return t;
}
Possible solution:
Update documentation.
Signed-off-by: Edward Shishkin <edward@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
It now keeps track of I/O activity on a per-device basis (as well as a
cumulative system-wide view). ``I/O activity'' is defined as defined as
the time during which the device driver and device are activelty working
on at least one I/O. Here's a sample output:
==================== I/O Active Period Information ====================
DEV | # Live Avg. Act Avg. !Act % Live
---------- | ---------- ------------- ------------- ------
(254, 0) | 0 0.000000000 0.000000000 0.00
( 8, 17) | 0 0.000000000 0.000000000 0.00
( 8, 16) | 29 0.909596815 0.094646263 90.87
( 8, 33) | 0 0.000000000 0.000000000 0.00
( 8, 32) | 168 0.097848226 0.068231948 59.06
---------- | ---------- ------------- ------------- ------
Total Sys | 33 0.799808811 0.082334758 90.92
Also added a new btt -Z option that generates per-device and system-wide
I/O activity data that can be plotted.
Refer to the documentation updates (btt.1, btt.tex) for more information.
|
|
the blkiomon usage text and man page reference a
"msg-queue-name" option, but getopts is only looking
for "msg-qeueue" - fix the docs to match the code.
Reported-by: Milos Malik <mmalik@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
The btrace script & man page didn't quite match for options,
and the btrace script was missing a few options in the getopts
specification (b&n). Also, there seems to be no such thing as
a "summarize" option anywhere, so remove it.
Reported-by: /Milos Malik <mmalik@redhat.com <mailto:mmalik@redhat.com>>/
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Fix various typos & inconsistencies in man pages.
I think the manpages could use a general tidy-up, but this
mostly fixes things which I'd consider "errors" vs. style
issues.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
This is for RH bug 498426,
btrecord doesn't recognize --max-pkts and --max-packets cmd line options
Usage text and some documentation references "--max-pkts" and
the man page references "--max-packets" but the getopts code
is looking for --max_pkts.
I'm not sure if it's best to make the code match the majority
of the docs, or fix the docs to match the code? This patch does
the former, but I'm not picky if you want to go the other way :)
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Fix small typo as reported by Kent Baxley <kbaxley@redhat.com>
in Red Hat Bug 489941 - tiny typo in blktrace manpage
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jens Axboe <axboe@carl.(none)>
|
|
Allow masking in messages by using "-a notify".
Signed-off-by: Carl Henrik Lunde <chlunde@ping.uio.no>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Trying to run btt on pre-2.6.19 kernels has problems handling the
previous remap PDU - it did not include a proper device-from field.
(Probably should have bumped the blktrace version when we did that.)
This option just tosses those out as it just results in lots of crazy
stuff being handled.
Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
|
|
Added a new option (-M, --no-msgs) option to blkparse: I have found that
the CFQ I/O scheduler sends a *tremendous* amount of messages, that
bloat the .bin file generated when using the -d option. The file sizes
can shrink by >50% when using the -M option in those case.
Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Easy parsing for graph creation
|
|
|
|
|
|
This will output a data file containing the time stamp and number of
I/Os issued to underlying drivers per device. It will give you an idea
as to how many I/Os are being actively worked per device at any time
during the run.
|
|
blkiomon periodicaly generates per devive request size and request latency
statistics from blktrace data. It provides histograms as well as data that
can be used to calculate min, max, average and variance. For this purpose,
it consumes D and C traces read from stdin.
There are options for binary output and human-readable output to files and
stdout. Output to a message queue is supported as well.
#blktrace /dev/sdw -a issue -a complete -w 200 -o - | blkiomon -I 8 -h -
time: Tue Sep 30 17:39:25 2008
device: 65,96
requests: read 62, write 40, bidir: 0
sizes: num 102, min 4096, max 430080, sum 13312000, squ 3102442782720,
avg 130509.8, var 13383296793.3
d2c: num 102, min 393, max 14261, sum 359441, squ 2830211755, avg 3523.9,
var 15329081.8
sizes histogram (in kB):
0: 0 1024: 0 2048: 0 4096: 6
8192: 0 16384: 15 32768: 4 65536: 24
131072: 11 262144: 30 524288: 12 1048576: 0
2097152: 0 4194304: 0 8388608: 0 > 8388608: 0
d2c histogram (in usec):
0: 0 8: 0 16: 0 32: 0
64: 0 128: 0 256: 0 512: 13
1024: 21 2048: 27 4096: 14 8192: 8
16384: 19 32768: 0 65536: 0 131072: 0
262144: 0 524288: 0 1048576: 0 2097152: 0
4194304: 0 8388608: 0 16777216: 0 33554432: 0
>33554432: 0
time: Tue Sep 30 17:39:33 2008
device: 65,96
requests: read 312, write 47, bidir: 0
sizes: num 359, min 4096, max 430080, sum 13197312, squ 1575816790016,
avg 36761.3, var 3038067547.5
d2c: num 359, min 294, max 9211, sum 387134, squ 1262489694, avg 1078.4,
var 2353807.5
sizes histogram (in kB):
0: 0 1024: 0 2048: 0 4096: 32
8192: 17 16384: 133 32768: 87 65536: 59
131072: 9 262144: 18 524288: 4 1048576: 0
2097152: 0 4194304: 0 8388608: 0 > 8388608: 0
d2c histogram (in usec):
0: 0 8: 0 16: 0 32: 0
64: 0 128: 0 256: 0 512: 129
1024: 164 2048: 33 4096: 15 8192: 13
16384: 5 32768: 0 65536: 0 131072: 0
262144: 0 524288: 0 1048576: 0 2097152: 0
4194304: 0 8388608: 0 16777216: 0 33554432: 0
>33554432: 0
Signed-off-by: Martin Peschke <mp3@de.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
|
|
This fixes up a formatting problem when displaying the blktrace
man pages - just a typo (bold mode not correctly terminated, so
it flows on until the next bold-mode-termination a few lines on).
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Attached are manpages for the btreplay and btrecord utilities for
inclusion in the git repo. I'm about to upload anew version to Debian
which will include these manpages, too.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Attached is an update for the btt.1 man page that should bring the man
page in sync with the TeX documentation.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Fix minor indentation typo in blktrace man page.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Thanks to Bas Zoetekouw <bas@debian.org> for providing these! And
shame on me for forgetting to add them to the git repo.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Added new argument to blktrace:
-I <devs file>
Where <devs file> has one device per line, each device is added to any
explicit -d arg, or the trailing device arguments.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
At several places in docs old mountpoint for debugfs is mentioned.
The patch just corrects these misprints.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
The 'B' is really a bounce, not a backmerge. Fixup other merge
descriptors as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
2.6.17 has shipped and has support for blktrace, so no need to
carry around the older 2.6.16 patch anymore.
|
|
After sending a SIGINT to a "blktrace .. | blkparse .. " pipeline,
occasionally I would not be able to run blktrace again. On my next run
of the same pipeline I would get the following error:
cs411vm:/usr/src/bt# ./blktrace -d /dev/sdb -o - | ./blkparse -i -
BLKTRACESETUP: No such file or directory
Failed to start trace on /dev/sdb
After rebooting, I could reproduce this by starting the pipeline, and
kicking off a big write and sending a SIGINT to blktrace. The following
is what I used for a write:
while [ 1 ]
do
dd if=/dev/zero of=/test/write bs=1M
done
It seemed like blktrace was not handling signals correctly, so I
strace'd the process to see what was happening.
Sure enough:
--- SIGINT (Interrupt) @ 0 (0) ---
ioctl(3, 0x1275, 0xb7fa6000) = 0
sigreturn() = ? (mask now [])
write(1, "O\0\0\0\20\0\200\0\0\0\0\0\0\0\0\0\7taeN3\1\0\257R\260"...,
4096) = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) @ 0 (0) ---
+++ killed by SIGPIPE +++
Any idea what clean-up is not happening? I tried to figure it out, but
my only work-around was a reboot.
My patch against 2.6.17-rc3 just tells blktrace to ignore SIGPIPE.
Nothing crazy. :) blktrace already does enough error checking elsewhere
to handle a bad write.
On a completely unrelated note, the write_data function calls fwrite,
which will not return -1 on error. Instead you'll need to use ferror to
check if there was a problem. I'm not sure if this is a cause of any
bugs, but it seemed worth mentioning.
Furthermore, I updated the URLs in the documentation to point at a valid
git repo.
|
|
|
|
Here is a proposed patch which would allow blkparse to dump its output
to a binary file (in addition to the ascii output). It adds a new '-d
<file>' parameter.
The purpose of this would be to allow for the easier handling of the
collected data by analysis tools. [Rather than having to parse the
textual output from blkparse, or duplicate the collation efforts of
blkparse itself.]
|
|
|
|
|
|
Move version to -V instead.
|
|
|
|
|
|
|