[Bug 400681] Re: Please sync blktrace 1.0.1-2 (universe) from Debian unstable (main).

Bhavani Shankar right2bhavi at gmail.com
Fri Jul 17 14:49:06 BST 2009


upstream changelog:

commit 29dec8c92c05dac35a55fa2ed1a0ac3cab8d41f2
Merge: 84feb18 1e09f6e
Author: Bas Zoetekouw <bas at debian.org>
Date:   Mon Jun 29 16:40:22 2009 +0200

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit 1e09f6e9012826fca69fa07222b7bc53c3e629ee
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Mon May 11 14:00:10 2009 +0200

    Version 1.0.1
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 420c2b7629ca7f7c81896652edb93c3a97c87c4c
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Thu May 7 11:08:25 2009 -0500

    blkrawverify: warn and return error if no traces are found
    
    blkrawverify is prints no errors and returns success if the
    requested tracefiles aren't found:
    
    # blkrawverify foobar
    Verifying foobar
    # echo $?
    0
    
    With this change it's a bit more informative:
    
    # ./blkrawverify foobar
    Verifying foobar
    No tracefiles found for foobar
    # echo $?
    1
    
    Resolves Red Hat Bugzilla #499581
    
    Reported-by: Milos Malik <mmalik at redhat.com>
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 73ad1727443924d5efa94d5fad1ad3cfea3d3780
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Mon May 4 16:04:51 2009 -0500

    blkiomon manpage and usage reference invalid "msg-queue-name" option
    
    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 at redhat.com>
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit bc93336f08a3773cdc8d88eda035346e3896fa29
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Mon May 4 15:40:53 2009 -0500

    fix up btrace options & manpage
    
    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 at redhat.com <mailto:mmalik at redhat.com>>/
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit fbdf23ecc21c6fbbc6fd25d41e3072d06188d274
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Mon May 4 15:16:31 2009 -0500

    more manpage fixups
    
    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 at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 306a8ee991a42055365aade54b9c988e5373cef5
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Thu Apr 30 10:56:04 2009 -0500

    fix max-pkts option inconsistencies
    
    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 at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 580f7440b93c08266867716dc4b891845f7ad891
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Apr 30 13:10:31 2009 -0400

    Converted to using the correct remap entries
    
    This follows the kernel changes to the blk_io_trace_remap structure to
    better align the names of the structure elements with the real intent of
    "from" and "to" (devices & sectors).
    
    See the kernel patches @
    
    http://lkml.org/lkml/2009/4/30/340
    http://lkml.org/lkml/2009/4/30/341
    
    (Note: since the ABI order didn't change, old user code will work with
    the new kernel code & vice versa.)
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit af90543f47f93782df94a3a56d4f607f4dd6ad4c
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Mon May 11 08:41:33 2009 +0200

    blkiomon: fix unaligned accesses on ia64
    
    commit 7aa3ebcec011bfe9cc60d6476252c03376a37551 packed
    the blkiomon_stat structure so that traces from one
    arch could be analyzed on another (in truth only x86
    is different, at least from x86_64/ia64/ppc/ppc64/s390/s390x)
    
    Moving the __u32 device member instead of a new padding field should be
    fine.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit b5f8804a588fffdea10a0cd46a36fc196acea9f2
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Mon Apr 20 16:07:11 2009 +0200

    fix off-by-one issues in blkiomon.h
    
    Fix two off-by-one issues. Last bucket of histogram was ommitted by mistake
    when being converted to big-endian or when being merged with another bucket.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 8d388c8ea6a58186bfdf7ca7fc4e1268eced8b14
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Mon Apr 20 16:05:18 2009 +0200

    fix include statement in stats.h
    
    Some endianess conversion macros have been moved and the corresponding
    header file is gone. Need to adapt an include statement in stats.h. The
    compiler did not complain because blkiomon.c accidently included blktrace.h
    prior to stats.h. Introduced by blktrace rewrite which became version 2.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 60886290e2ba6ddae1213f3a13929193180c8c55
Author: Jeff Moyer <jmoyer at redhat.com>
Date:   Fri Apr 17 08:50:22 2009 +0200

    handle race to mkdir at startup
    
    I ran into a problem when specifying -D dirname-that-doesnt-yet-exist.
    Blktrace would fail, spewing the following messages:
    
    [root at megadeth blktrace]# ./blktrace -d /dev/cciss/c0d1 -D ./2.6.30-rc2-cfq-local
    Destination dir ./2.6.30-rc2-cfq-local/ can't be made: 17/File exists
    Destination dir ./2.6.30-rc2-cfq-local/ can't be made: 17/File exists
    Destination dir ./2.6.30-rc2-cfq-local/ can't be made: 17/File exists
    Destination dir ./2.6.30-rc2-cfq-local/ can't be made: 17/File exists
    Destination dir ./2.6.30-rc2-cfq-local/ can't be made: 17/File exists
    FAILED to start thread on CPU 0: 1/Operation not permitted
    FAILED to start thread on CPU 4: 1/Operation not permitted
    FAILED to start thread on CPU 5: 1/Operation not permitted
    FAILED to start thread on CPU 6: 1/Operation not permitted
    FAILED to start thread on CPU 7: 1/Operation not permitted
    
    I tracked it down to the fact that there is no synchronization between
    threads when trying to create the output directory.  The fix is simple,
    just allow the race to happen and detect it.  It's not really worth
    putting in any extra synchronization.  It looks like no place else in
    that startup path needs synchronization either.
    
    This patch fixes the issue for me.  I tested it by running the very
    command that caused me headaches 100% of the time before.  I also did a
    chattr +i on the directory and verified that it would really fail in the
    case where it couldn't create the directory.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit bb4a66074cecd59afc37f0053fdf42661503f51c
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Mon Apr 6 07:30:16 2009 -0400

    Fixed plug/unplug logic in btt
    
    Was not accounting for unplugged time due to timeout unplugs.

commit 15d67efcf8859d0f64d2ba38249bc50f87c30b57
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Apr 2 12:09:08 2009 -0400

    Working on fixing % time q plugged

commit d8ba9b683e1a341ab72c40836c05a360875c2e5e
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Thu Mar 26 20:44:06 2009 +0100

    fix trivial typo in manpage
    
    Fix small typo as reported by Kent Baxley <kbaxley at redhat.com>
    in Red Hat Bug 489941 - tiny typo in blktrace manpage
    
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Signed-off-by: Jens Axboe <axboe at carl.(none)>

commit cfa089d429acfcb5a21be63ded7f943287401fef
Author: Carl Henrik Lunde <chlunde at ping.uio.no>
Date:   Fri Feb 6 12:17:25 2009 +0100

    Add NOTIFY to activity mask
    
    Allow masking in messages by using "-a notify".
    
    Signed-off-by: Carl Henrik Lunde <chlunde at ping.uio.no>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit f547a39d32d514eb7bce82b955193b73e9828c85
Author: Tom Zanussi <tzanussi at gmail.com>
Date:   Mon Mar 23 19:41:00 2009 +0100

    Blktrace failed to lock reader threads on the cpu used by the corresponding
    writer. This resulted in stale data being consumed when blktrace accidently
    read at a position that was being written to at the same time. This issue
    surfaced as "bad trace magic" warnings emitted by blktrace tools.
    
    The problem occured on an SMP System z machine. The patch fixes the issue.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <axboe at carl.(none)>

commit 726d2aee9d2b97b32daa08824857c77f9536609f
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Mar 12 10:29:40 2009 -0400

    Generate matplotlib plots for btt generated data
    
    btt_plot.py: Generate matplotlib plots for BTT generated data files
    
    Files handled:
      AQD   - Average Queue Depth           Running average of queue depths
    
      BNOS  - Block numbers accessed        Markers for each block
    
      Q2D   - Queue to Issue latencies      Running averages
      D2C   - Issue to Complete latencies   Running averages
      Q2C   - Queue to Complete latencies   Running averages
    
    Usage:
      btt_plot_aqd.py       equivalent to: btt_plot.py -t aqd
      btt_plot_bnos.py      equivalent to: btt_plot.py -t bnos
      btt_plot_q2d.py       equivalent to: btt_plot.py -t q2d
      btt_plot_d2c.py       equivalent to: btt_plot.py -t d2c
      btt_plot_q2c.py       equivalent to: btt_plot.py -t q2c
    
    Arguments:
      [ -A          | --generate-all   ] Default: False
      [ -L          | --no-legend      ] Default: Legend table produced
      [ -o <file>   | --output=<file>  ] Default: <type>.png
      [ -T <string> | --title=<string> ] Default: Based upon <type>
      [ -v          | --verbose        ] Default: False
      <data-files...>
    
      The -A (--generate-all) argument is different: when this is specified,
      an attempt is made to generate default plots for all 5 types (aqd, bnos,
      q2d, d2c and q2c). It will find files with the appropriate suffix for
      each type ('aqd.dat' for example). If such files are found, a plot for
      that type will be made. The output file name will be the default for
      each type. The -L (--no-legend) option will be obeyed for all plots,
      but the -o (--output) and -T (--title) options will be ignored.

commit c2039a2eebe7d48d8e1f62e727affa28f0e2b65e
Merge: 40502e4 5d65b5e
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Wed Feb 18 13:11:48 2009 +0100

    Merge branch 'master' of
ssh://axboe@router.home.kernel.dk/data/git/blktrace

commit 40502e47ffbe93fd14138769f4eee56c3c439c18
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Wed Feb 18 13:08:08 2009 +0100

    Update Jenkins hash to lookup3() variant
    
    It both mixes and performs better than lookup2().
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 5d65b5e6333cfdd14ab0e944cef8474445e531b3
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Feb 17 08:48:40 2009 -0500

    Fixed EAGAIN handling in blktrace.c
    
    EAGAIN was causing header failures in network mode. Added in a usleep
    and retried the recv().
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit 358504bb7869e73e38abcbc78b50d441f693711e
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Tue Feb 17 13:39:40 2009 +0100

    O_NOATIME isn't always present
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ee27874baa43db7d697b5de72938e4ccb71bdabb
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Feb 13 12:38:54 2009 -0500

    btt: Added no remap option
    
    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 at hp.com>

commit c053af429559c8f4311cd773262ff223097cdcb3
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Feb 13 12:43:45 2009 -0500

    btt general cleanup plus valgrind clean
    
    Lots of general clean up of code, getting interfaces across different
    files to be similar (all are no alloc/free), and made it valgrind clean.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com

commit 8f34184f8c7905bb929862d224a7c4969bc9190e
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Feb 12 14:28:51 2009 -0500

    btt: Missed fopen conversion to my_fopen
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com

commit 055cc3e52d0d0d0663c6e85ea4ea26dbf40cfcda
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Feb 12 13:30:47 2009 -0500

    Code review updates
    
    Re-coding large functions, re-arranging some stuff.

commit df81fdb531a0437a22f88639249d23c1d12ddc45
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Feb 12 11:13:20 2009 -0500

    Reworked blktrace master/thread interface
    
    Allows parallel initializations.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit 52481561c1f0cdc6fa76a15d800b2b228fda7877
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Feb 12 08:01:42 2009 -0500

    Cleaned up devs that have no data
    
    Working around an issue with older kernels (pre-2.6.19): remaps did not
    include device-from, so the pad field is being used for a device which
    never has any Q or Ds done to it (it's an invalid ID). This code removes
    all such devices before output processing.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit 3b552a2d1ff8ecccbbb82668f73d1cb134fca1e9
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Feb 11 16:16:12 2009 -0500

    Moved starting of tracing after tracers are going
    
    Hold off BLKTRACESTART to threads are ready to consume tracers.

commit e6855475478967e7cf92f8beece05ea55d31e6f1
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Feb 11 13:40:09 2009 -0500

    btt: fixed open in setup_ifile
    
    Took my_open & my_fopen code from blktrace 2.0: needed to add in open
    resource limit increasing stuff.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit 6488ca487c5695b784db56c79b67007e92eeb2ac
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Feb 11 13:23:21 2009 -0500

    Synchronized trace gathering
    
    Previously, each tracer thread would start gathering traces as soon as
    it got going - which might slow down later thread start ups. This change
    allows each thread to be ready to gather traces, and then the main
    thread starts all the threads gathering at the same time.

commit e58f3937548ed115ac5104817f2a9df53830f381
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Feb 11 13:10:13 2009 -0500

    Invoke gethostbyname once, handle errors better
    
    Instead of invoking gethostbyname once per client, we only need to do it
    once at initialization time. Plus: gethostbyname has a non-standard
    errno reporting mechanism, handle this better.

commit d5302b03b2728a27f14c4f260ce6a5247ea87c6e
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Feb 11 11:42:09 2009 -0500

    Added accept as a system call needing resource increases
    
    accept(2) opens a socket, and thus needs to handle EMFILE/ENFILE errors
    like other system calls.

commit 3fe0b570b01622e329b9c999ebf867b1f1cb2e20
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Mon Feb 9 15:11:49 2009 -0500

    Rewrote blktrace to have a single thread per CPU
    
    Massive changes: mostly around the notion of having much fewer threads
    (instead of N(devs) X N(cpus) threads, we'll have just N(cpus)). This
    is very important for larger systems (with lots of devices to
    trace). A lot of the code was stolen from the original blktrace code,
    major changes include:
    
    o  On the client side we only have a single thread per client CPU. Each
    thread will then open all device files for that CPU, and use poll to
    determine which file needs processing.
    
    o  For network client mode w/ sendfile, this means that a single socket
    will carry all data to the remote network server. The network server
    side will then distribute its reads off that one socket onto different
    trace files.
    
    o  For network client mode w/out sendfile, we fall back to doing things
    like piped mode: keep buffers of tracers read in, and then the main
    thread will issue these on sockets to the server. In this case, the main
    thread will still have a single socket per CPU.
    
    o  For networked mode we added an OPEN concept on the client side: as
    soon as the connection to the server is set up, a "header" is sent
    signifying that this connection will handle a <cpu, device> tuple. For
    each socket opened on the client side, it will send a header per device
    being managed. The server side will handle utilize opens to set up
    appropriate data structures to handle incoming data streams.
    
    o  For both the OPEN and CLOSE headers the server will acknowledge with
    a short write back to the client. This allows the client & server sides
    to gracefully close socket connections.
    
    o  I also re-did the resource limitiation issue a bit differently: for
    open calls (including socket) or for memory map/lock calls I have
    provided a wrapper function that will try to increase specific limits as
    needed. The previous method (attempting to do it at the beginning of the
    run) fails for network server mode - you don't know at initialization
    how many devices and CPUs will be handled.
    
    o  The standard output is slightly different in a few places, if this is
    a problem w/ compatibility we can work to rectify that. The command line
    argument handling is identical though.
    
    o  Using code stolen from Linux to manipulate doubly-linked lists. I've
    found that this makes the code easier to read/write (but may be a bit of
    overkill here...)
    
    o  The code passes valgrind quite well (at least for my tests so far).
    The only nit has to do with inet_ntoa - but that is out of our control.
    
    Thanks to Stefan Raspl <raspl at linux.vnet.ibm.com> for testing and
    finding some issues and for providing suggestions.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit 99bb5ebc255618e4af913d2e5f1bf268af552bdf
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Jan 23 09:48:21 2009 -0500

    Fix btt to handle large numbers of output files
    
    Simply bump resource limits if file opens fail, and retry.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit 69dd57c2986bb025d7de12ab6eb52d5cd130d453
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Fri Jan 23 11:04:42 2009 +0100

    Increased limits to allow for large system runs
    
    On 16-way w/ 104 disks and a 32-way w/ 96 disks, I was getting:
    
    $ sudo blktrace -b 1024 -n 8 -I ../files
    ./cciss_c1d6.blktrace.10: Too many open files
    Failed to start worker threads
    
    Due to the nature of our N(cpus) X N(devices) order of file opens, and
    our N(cpus) X N(devices) X N(buffers) X (buffer size) amount of mmaps()
    going on we're exceeding both the RLIMIT_NOFILE and RLIMIT_MEMLOCK
    limits.
    
    This patch raises limits for RLIMIT_NOFILE and RLIMIT_MEMLOCK to
    "infinity", and allows blktrace to handle the large(ish) systems. (If
    these settings fail, we "guestimate" about how much we really need.)
    
    There is still an underlying blktrace and/or kernel problem: The
    directory /sys/kernel/debug/block/<DSF> where <DSF> is the device that
    encountered the limit is left behind (not cleaned up correctly). This
    stops blktrace from running a second time (even on another device):
    
    $  ls /sys/kernel/debug/block
    cciss_c1d6
    $ sudo blktrace /dev/sda
    BLKTRACESETUP: No such file or directory
    Failed to start trace on /dev/sda
    
    and requires a reboot. (Looking into that next, as this patch - whilst
    stopping the original problem from happening - does not address the
    secondary problem. And there may be some other ways for the secondary
    problem to still occur...)
    
    I also fixed a warning concerning ftruncate's return value being
    ignored.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>
    Signed-off-by: Jens Axboe <axboe at carl.(none)>

commit 61165962f86cb2de0b163f6083bff5649f692e91
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Wed Jan 21 14:58:35 2009 +0100

    A couple of min-counters weren't initialised correctly (thrput_r,
    thrput_w).
    We have got a perfectly working init function for this purpose.
    Removing partially duplicated code.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Stefan Raspl <raspl at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit b3ee499dd143aeaed311bf3bc6d14871168b6657
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Wed Jan 21 14:58:35 2009 +0100

    The git commit 11914a53d2ec2974a565311af327b8983d8c820d added __BLK_TA_ABORT
    to blktrace_api.h. A corresponding addition to the blktrace tools repository
    has been missing, breaking the API. Blkparse complained:
    "Bad fs action 40010011"
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 19cfaf3f4d8e53ce43cccd809676f8f2a40f0b34
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Mon Jan 12 18:29:53 2009 +0100

    Added no messages option to blkparse.c
    
    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 at hp.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ef02006b0131f298595b37afb07562ee50fae5cc
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Nov 12 07:11:22 2008 -0500

    gcc 4.3.2 has started to warn about:
    
    gcc -Wall -W -O2 -g -I. -I.. -D_GNU_SOURCE -D_LARGEFILE_SOURCE
    -D_FILE_OFFSET_BITS=64 -c -o output.o output.c
    output.c: In function ‘output_section_hdr’:
    output.c:57: warning: format not a string literal and no format
    arguments
    output.c: In function ‘__output_pip_avg’:
    output.c:496: warning: format not a string literal and no format
    arguments
    output.c:496: warning: format not a string literal and no format
    arguments
    
    so this patch cleans this up.

commit 0f067275d74a96ca9d574e9912a60bfa81b4df97
Merge: 7ae1d0b a22df98
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Nov 11 13:51:33 2008 -0500

    Merge branch 'add-P'

commit 7ae1d0bfcaaf46102fb747a4a21fcbe0a1887800
Merge: f3db347 d00dcee
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Nov 11 13:50:23 2008 -0500

    Merge branch 'fix-m'

commit a22df989ded0fb438dcad77a08c59a1a16b6b849
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Nov 11 13:46:13 2008 -0500

    Added -P to create a data file w/ Q, D and C per line
    
    Easy parsing for graph creation

commit 9638f3909854d936f4a55a48f787364abdbda71f
Merge: f3db347 d00dcee
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Nov 11 13:42:55 2008 -0500

    Merge branch 'fix-m' into add-P

commit d00dcee7f0d77f64c59ee47bfcf09809dad366ff
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Nov 11 13:41:05 2008 -0500

    Fixed 'M' displays on per-io output and added in I/O separator

commit f3db34733e7c8a46e9e26305e424a3ecd49ac06d
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Nov 11 13:40:10 2008 -0500

     Fixed segfault in aqd.c : need to check for NULL (not requested)

commit e47ada103e028a691d296d09d0bc673a3af6a3dc
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Mon Nov 10 10:35:44 2008 -0500

    Added in -z to provide running waiting-for-issue latencies

commit cdc033a3e6615142697e99b6be43319b8b8233e9
Merge: 57425a8 07b9682
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Mon Nov 10 10:34:02 2008 -0500

    Merge branch 'master' of
ssh://alanbrunelle@git.kernel.dk/data/git/blktrace

commit 07b96824e26286321b99c30526d8d67aca16e584
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Thu Oct 30 15:06:01 2008 +0100

    Set release version 1.0.0
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 0bc6b06188c993a9d64a4833e329446d37f553e8
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Thu Oct 30 15:04:20 2008 +0100

    Update rbtree to version with unified parent + color
    
    This saves 4-8 bytes per node, which can be quite a bit of memory
    with blktrace.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 57425a8a0c1238a9fc9dbc70a597c4011ea82f31
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Oct 29 15:04:03 2008 -0400

    Moved btrecord/btreplay to version 1.0.0

commit 53cab5f58afd61525674ba7d6de8ac111f173a90
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Tue Oct 28 17:08:12 2008 +0100

    blkiomon: add through-put statistics
    
    Add accounting of per-request throughput in bytes per millisecond
    both for read ad write I/O.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 29ec9a38dabc610005c5b8d11dba2a0824117c97
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Tue Oct 28 17:08:10 2008 +0100

    blkiomon: separate statistics for read and write requests
    
    Split min/max/avg statistics for request sizes and dispatch-to-completion
    latencies into separate statistics for read and write requests.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 9b26a3a85a21f1b4ae61ba243143202eff1fd1e4
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Tue Oct 28 17:08:07 2008 +0100

    blkiomon: fix some debug messages
    
    Cleaning up error messages. Some perror()'s didn't make sense.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 4bd8e3ba5553be4e6dad03b8f9ef5a7ef984124b
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Tue Oct 28 17:08:05 2008 +0100

    blkiomon: fix trace debug output
    
    Removed leftovers of trace tree and made debug code work by using trace
    hash instead of trace tree.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 369ba3dec9e78c65f9405f20a2b14c8e9cf2940c
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Tue Oct 28 17:08:02 2008 +0100

    blkiomon: fix unit in histogram output
    
    Fix unit of request sizes as printed in histogram (it's bytes not kilobytes).
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 7aa3ebcec011bfe9cc60d6476252c03376a37551
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Tue Oct 28 17:07:57 2008 +0100

    blkiomon: fix cross-arch data analysis issue
    
    This fixes cross-arch issues. Binary data gathered on System z could not
    be read on x86.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 3bc3451b471fe4cea365654481258a1a1913018e
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Mon Oct 20 18:14:21 2008 +0200

    blkiomon: drv_data traces pass-through
    
    This patch adds pass-through support for device driver specific traces
    to blkiomon. This way we can aggregate block I/O statistics and device
    driver specific statistics at the same time.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit c701176c4befb44efe68e3b5e09ca710b4be357d
Author: Martin Peschke <mpeschke at linux.vnet.ibm.com>
Date:   Fri Oct 17 15:09:05 2008 +0200

    blkparse: add hint for discarded drv_data traces
    
    Display an informational message on blkparse exit to notify users that
    additional data was available which would require to be dumped to binary
    output.
    
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 2baef5087c57d39ee2fc488cd52348f61f32b1fc
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Oct 16 12:03:45 2008 -0400

    Added in -L option - output periodic latency information

commit 4ae2c3c6215de3f9016b5211ac83893cb061b1e1
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Oct 16 10:53:07 2008 -0400

    Added in -Q / --active-queue-depth option
    
    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.

commit c54b9dd9a993fc76f3649279e6a4295f6aba2054
Author: Stefan Raspl <raspl at linux.vnet.ibm.com>
Date:   Thu Oct 16 08:14:17 2008 +0200

    Add driver data support
    
    Adds a new type of action 'drv_data' for blktrace to handle binary
    driver-specific data. Since the data is binary, blkparse will only put it in
    a binary file, not in the regular human-readable output.
    
    Signed-off-by: Stefan Raspl <raspl at linux.vnet.ibm.com>
    Signed-off-by: Martin Peschke <mpeschke at linux.vnet.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 5d4f19d9812264bfb45427716330d0bd2529dfd9
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Thu Oct 16 08:05:53 2008 +0200

    blktrace: accept -v (lower case) for version info as well
    
    Christof Schmitt <christof.schmitt at de.ibm.com> points out that the
    documentation uses -v but blktrace supports only -V, so change
    blktrace to accept both cases.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit cc19ddd696e8931a969e943523e1dcf7a11ffe79
Author: Martin Peschke <mp3 at de.ibm.com>
Date:   Thu Oct 16 07:48:25 2008 +0200

    blkiomon: I/O monitor
    
    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 at de.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit abf63eafd11e42e0f065e56fc4773e6854087d41
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Oct 10 08:40:57 2008 -0400

    Removed excessive amounts of seek modes (for random sets of I/Os)
    
    When doing a random load, we'd get a LARGE amount of single-seek buckets,
    this patch just notes that fact, without dumping all the data...

commit 129babbbb691f87ba66101f0df7ccf463e2e56a6
Merge: 32ff7e3 4133e83
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Oct 10 08:40:21 2008 -0400

    Merge branch 'master' of
ssh://alanbrunelle@git.kernel.dk/data/git/blktrace

commit 4133e838c72f5f66e0c5b57af1aa24bf10a23b07
Author: Nathan Scott <nscott at aconex.com>
Date:   Fri Sep 26 11:05:51 2008 +0200

    spec file tweak
    
    I found I needed this tweak to make the spec file usable on a RHEL5
    system (I hit rpmbuild errors about unpackaged files without this).
    Not sure if its correct though, maybe someone with stronger rpm-fu
    than I have could take a closer look?
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 5eace3dbc1b0f0832c900c86d5a9c96af242dfa7
Merge: 6f2cb32 64c0316
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Fri Sep 26 11:05:16 2008 +0200

    Merge branch 'master' of
ssh://axboe@router.home.kernel.dk/data/git/blktrace

commit 6f2cb32b05c8800d68f3e61f196d417bfea80049
Author: Nathan Scott <nscott at aconex.com>
Date:   Fri Sep 26 11:05:13 2008 +0200

    man page typo
    
    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 at oracle.com>

commit 32ff7e3b023c655c63d53b2b14e151f82bd83229
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Sep 23 08:06:41 2008 -0400

    Added in %done for btt

commit 84feb18fb1e50d3356fdc202fa0f4e54918517ac
Merge: 0dc8ade 64c0316
Author: Bas Zoetekouw <bas at debian.org>
Date:   Tue Aug 26 17:11:03 2008 +0200

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit 64c031619f9d7fbafce96d6e6c29f945b589141b
Author: David Woodhouse <dwmw2 at infradead.org>
Date:   Fri Aug 15 11:12:20 2008 +0200

    Add documentation of 'D' discard operation
    
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 37081bf5636d1bef1dd141a03a64b3c516867ac9
Author: David Woodhouse <dwmw2 at infradead.org>
Date:   Fri Aug 15 10:44:39 2008 +0200

    blktrace: support discard requests
    
    Add support for discard requests to blktrace userspace tools.
    
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ea86559e392fc012f9b30eb109d3421d463c8848
Author: Jeff Moyer <jmoyer at redhat.com>
Date:   Tue Jul 1 13:35:29 2008 +0200

    spelling and grammar fixes for btreplay.tex
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 84a26fcd9adebd1537bf2c4eee69d1ca23ccbc5f
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue May 27 10:39:14 2008 -0400

    Put message notes from kernel into a separate file for easy tracking
    
    Also made made_dev_hdr standard for all usages.

commit ac00378edac625cc01abb2647ef6c4f377971a78
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue May 27 08:34:13 2008 -0400

    Added in new message updates to the documentation.

commit 1a15f6a82d62babb9d2f04a7400ff316a666dd42
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue May 27 08:19:57 2008 -0400

    Added in handling of MESSAGE notes
    
    Sample output:
    
      8,16   1   691118    17.417000000     0  C   R 2660776 + 8 [0]
      8,16   1   691119    17.417000000     0  D   R 2660792 + 8 [swapper]
      8,16   1   691120    17.417000000  4688  U   N [dd] 42
      8,16   1        0    17.418000000     0  m   N elv switch: noop
      8,16   1   691121    17.418000000  4638  C   R 2660784 + 8 [0]
      8,16   1   691122    17.418000000  4638  D   R 2660800 + 8 [bash]
      8,16   1   691123    17.418000000  4638  C   R 2660792 + 8 [0]
    
    Thanks to Carl Henrik Lunde <chlunde at ping.uio.no> for adding in sequence
    printing & time-stamp correction.

commit 5bebfd168c3f3f42acfd4a0263e9f4d1f5faea16
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed May 21 15:55:57 2008 -0400

    Handled no difference in seek times
    
    For some reason recent kernels (2.6.25.4, for example) we've lost a lot
    of resolution in our blktrace times. This can result in lots of things
    happening "simultaneously." This change at least tries to handle the
    case where all the seeks happen at once.
    
    Probably have other issues that need to be looked into...

commit ccf6d55e4875989ebb57d8a9c031d177bdc2e43a
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed May 21 10:55:20 2008 -0400

    Added in -m option, seeks-per-second
    
    btt can now output data files containing seeks-per-second information.

commit ebe2d1aa7f334fc526a97f8acf62f1fe7dac9a8a
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Sun May 18 20:55:25 2008 +0200

    blkparse: cope with missing process notify event
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit dd14158dca460522c22afbd7e22343e4012fffe0
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Mon May 12 09:56:33 2008 -0400

    Fixed percentage calculations for phases of an I/O

commit 354db430eeaced3b8234668e6527910875d54e50
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri May 9 13:46:47 2008 -0400

    Added S2G times + fixed up -X output to include X2X
    
    Including Q2Q, Q2G, S2G, G2I, Q2M, I2D, M2D, D2C, Q2C.
    
    S2G is part of Q2G, and shows the number of times we had to sleep to
    get a request.
    
    Ignored 0-byte I/Os - coming from barrier I/Os...

commit f028c9584055737f429979e18ab7436583ed41b5
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu May 8 15:28:32 2008 -0400

    Added -X option - generate easily parseable file
    
    Writes a portion of the default output into a separate file that more
    easily parsed.

commit 4a7968cc672f39573abc6002f0afbed2a8e8139b
Author: Luis Useche <luis at cis.fiu.edu>
Date:   Mon May 5 20:53:13 2008 +0200

    Add -x accellerator option
    
    This patch adds a new functionality to the btreplay tool, the -x option.
    This parameter accelerate the replication by the factor specified. This
    means that the stall time is divided by the number introduced.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 7072ee3f2f12a1363d6f7378df3f268350e5bd52
Author: Luis Useche <luis at cis.fiu.edu>
Date:   Mon May 5 20:53:10 2008 +0200

    Fix problem with -w option
    
    This patch fixes the problem when the -w option is used in the file mode
    (i.e., no fifo mode). It just consists of moving the checking of the
    stopwatch_end after the time is updated with genesis. This also includes
    the checking of the stopwatch_start.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit a26daeb87cd49c2d6640965337cf625ae800c35a
Author: Luis Useche <luis at cis.fiu.edu>
Date:   Mon May 5 20:53:07 2008 +0200

    eliminate check of empty -F format
    
    This patch eliminates the checking of -F format when it is empty. I am
    using this in order to blank out the events that I do not want for
    certain act mask. Note that there is no real motivation to have this
    checking.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 0dc8ade0a99f47539702e5ce36aece56e440ecc8
Merge: f0fa9d0 801646d
Author: Bas Zoetekouw <bas at debian.org>
Date:   Thu May 1 20:19:50 2008 +0200

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit 801646d63fe28ae2c50ab5bd0e9ea4f75ff64d97
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Wed Apr 2 09:21:08 2008 +0200

    blkparse: Introduce optional accounting of PC requests
    
    The current blkparse lists only PC requests, but does not account for
    number of PC requests and the size of the attached data.  This patch
    introduces optional accounting for PC requests.  If any PC event was
    encountered, the summary output will also include data from PC
    requests.
    
    For PC completion events the amount of transferred data is not
    available, since the kernel uses the data_len field as residual bytes
    count on event completion.
    
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit c82a8c9d6d21b15732a92f9481ea1bcb45c9ce8c
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Wed Apr 2 09:21:08 2008 +0200

    blkparse: Add PC requests to depth trace
    
    The PC requests use the same queue and also contribute to the
    queue length, so they should be added to the queue depth trace.
    
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit f0fa9d008999c2450de24e522b3018968b0c849f
Merge: 2352b59 967492e
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 21:25:22 2008 +0100

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit 967492e81cd045b058fc93dacc15924bebd00b9b
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 12:58:12 2008 +0100

    Fix section of btrecord and btreplay man pages
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit cd10564816a3c095f4fac1d5e28f1fb7d2245a17
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 12:51:42 2008 +0100

    Don't like btrecord against libaio and librt, as it doesn't use any of their symbols
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ee43a14384e16eb456a44a18ee5027c67dba55f2
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 11:27:04 2008 +0100

    Really commit the changes to btt.1
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit bf46286a9e537ee177f795195bf059a09d1f4089
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 11:25:51 2008 +0100

    Added man page for bno_plot and updated btt man page to refer to bno_plot
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 2352b59425d2464e0d490940baad9e9da596bc9e
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 12:58:12 2008 +0100

    Fix section of btrecord and btreplay man pages

commit 822ad6d88a2fcb9eb077c9fa1d405e0a57fce876
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 12:51:42 2008 +0100

    Don't like btrecord against libaio and librt, as it doesn't use any
of their symbols

commit 9e55f05fa18be1e1cdb7d6851c5768d4cd7f23b3
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 11:27:04 2008 +0100

    Really commit the changes to btt.1

commit 3d76c6ecdf13546816102655237133d03c4cd549
Author: Bas Zoetekouw <bas at debian.org>
Date:   Fri Feb 22 11:25:51 2008 +0100

    Added man page for bno_plot and updated btt man page to refer to
bno_plot

commit 66cb279c23b29efdf97f2dac3d32a10a6b8f0db2
Merge: 0e0d2a3 8b10aae
Author: Bas Zoetekouw <bas at debian.org>
Date:   Sat Feb 16 22:45:19 2008 +0100

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit 8b10aae0cd4137f1cc9848181e4f45a9fa20de24
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Wed Feb 13 11:46:22 2008 -0500

    Cleanups: Fixed IOPs in btt left over at end of run
    
    o  Using valgrind, determined we had Q IOPs left over that weren't
       used. Added "all" list, and then deleted these at end.
    
    o  Removed old debug stuff (COUNT_IOS, DEBUG, ...)
    
    o  Fixed a bunch of white space at end of lines.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>

commit c8aea612abc714072e346366cb0e5cf9da8a2f5f
Author: Aaron Carroll <aaronc at gelato.unsw.edu.au>
Date:   Wed Feb 13 18:48:14 2008 +1100

    btt: fix missing cleanup call
    
    clean_args() exists but is never called, thus any files opened in args remain
    open while the buffers backing those files are closed.
    
    Signed-off-by: Aaron Carroll <aaronc at gelato.unsw.edu.au>

commit 3e95108c8e2c1e804f54d1512f83eb6eff90cc13
Author: Aaron Carroll <aaronc at gelato.unsw.edu.au>
Date:   Wed Feb 13 18:46:40 2008 +1100

    btt: fix iostat interval default
    
    Change the default iostat interval from 1ns to 1s, which is the
    default implied by btt.1 and common sense.
    
    Signed-off-by: Aaron Carroll <aaronc at gelato.unsw.edu.au>

commit ef14423994b40499402269896fc1aa5567bcdba9
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Feb 12 08:58:25 2008 -0500

    Added info about bno_plot.py and clean ups
    
    o  Added description of bno_plot.py, including sample screenshot
    o  Various spelling clean ups
    o  Updated sample btt output
    o  Cleaned up table of contents

commit feb161907bf39fab6bedacf066fe7de6639cea93
Merge: b70a664 1306385
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Feb 8 10:03:13 2008 -0500

    Merge branch 'bno_plot.submit'

commit b70a66427b4674b2a37660a196e5c6db181dd4ec
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Feb 5 17:31:21 2008 -0500

    Added new IOs per unplug table
    
    ==================== Plug Information ====================
    
           DEV |    # Plugs # Timer Us  | % Time Q Plugged
    ---------- | ---------- ----------  | ----------------
     (  8,  0) |       1171(       123) |   0.280946640%
     (  8, 32) |          4(         0) |   0.000325469%
    ---------- | ---------- ----------  | ----------------
       Overall |    # Plugs # Timer Us  | % Time Q Plugged
       Average |        587(        61) |   0.140636055%
    
           DEV |    IOs/Unp   IOs/Unp(to)
    ---------- | ----------   ----------
     (  8,  0) |        9.2          8.8
     (  8, 32) |        2.5          0.0
    ---------- | ----------   ----------
           DEV |    IOs/Unp   IOs/Unp(to)
       Overall |        9.2          8.8

commit 1306385d0dca139437b447785edf2e19d0f5c960
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Tue Feb 5 13:46:51 2008 -0500

    Added bno_plot.py - generate interactive 3D plot of IO blocks and sizes
    
    bno_plot.py
    	[ -h | --help       ]
    	[ -K | --keys-below ]
    	[ -v | --verbose    ]
    	[ <file...>         ]
    
    Utilizes gnuplot to generate a 3D plot of the block number output
    from btt.  If no <files> are specified, it will utilize all files
    generated after btt was run with -B blknos (meaning: all files of the
    form blknos*[rw].dat).
    
    The -K option forces bno_plot.py to put the keys below the graph,
    typicall all keys for input files are put in the upper right corner of
    the graph. If the number of devices exceed 10, then bno_plot.py will
    automatically push the keys under the graph.
    
    To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt.

commit 00a47cd169f2cc87b5f63fe93226b7231dee678c
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Thu Jan 31 17:10:52 2008 -0500

    UNPLUG does the timing stuff, UNPLUG TIMEOUT only does timeout
    
    Each UNPLUG TIMEOUT should be followed by an UNPLUG, so we were getting
    double information on time outs.

commit 5683cbf679d2a03239f075661282bf4537a06130
Author: Alan D. Brunelle <adb at bannor.(none)>
Date:   Thu Jan 31 13:02:24 2008 -0500

    Fixed excess bucket information for unplug histograms.

commit 0e0d2a37803989818112d35e5ee5e172ed5c8ee5
Merge: 1d4e6f4 461afe8
Author: Bas Zoetekouw <bas at debian.org>
Date:   Sat Jan 5 16:46:19 2008 +0100

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit 461afe819c41fa811f9c6264524cb8edbd2acc63
Author: Dave Boutcher <boutcher at cs.umn.edu>
Date:   Thu Jan 3 10:21:32 2008 -0500

    Fix Q counts during requeue and merges.
    
    It looks to me like btt doesn't correctly keep track
    of the number of requests currently in the queue for
    a device.  n_act_q gets incremented in trace_queue
    and decremented in trace_issue, but I think it also
    needs to get updated in trace_merge and trace_requeue.
    
    The one thing I'm not sure about is whether we want
    r_iop->dip->n_qs++ in the new handle_requeue routine.
    
    The following patch makes the "active requests at Q"
    count a little more sane for me.  This is against
    git as of yesterday.
    Signed-off-by: Alan D. Brunelle <Alan.Brunelle at hp.com>

commit 1d4e6f4dec4684d174f1bdfa0c762d0473d2061e
Merge: 1a56637 ae6d30f
Author: Bas Zoetekouw <bas at ophelia.zoetekouw.net>
Date:   Fri Dec 14 22:58:38 2007 +0100

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit ae6d30f4475181d685d1f33faf056755803f189b
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Mon Dec 10 13:41:37 2007 -0500

    Separated out g/i/m trace handling.
    
    Also separated out DM-device calculations.

commit 1a56637964244e1f2efed49709e126cf7214c698
Merge: 0673f05 a84a97f
Author: Bas Zoetekouw <bas at debian.org>
Date:   Sun Dec 9 22:05:57 2007 +0100

    Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace

commit a84a97fdf8ce07ccda8dcc4f32f0df2291f2f54f
Author: Bas Zoetekouw <bas at debian.org>
Date:   Sun Dec 9 19:43:16 2007 +0100

    btreplay/btrecord man pages
    
    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 at oracle.com>

commit 0673f05ec8905faf82df6f8c40dbe69057cdc8d6
Author: Bas Zoetekouw <bas at debian.org>
Date:   Sat Dec 8 15:20:39 2007 +0100

    Added man pages for btreplay and btrecord.

commit 02a94ed057ba88861ed041496646a8be53d0b2e7
Merge: 951ea56 99a55a0
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Thu Dec 6 09:00:47 2007 -0500

    Merge branch 'master' into add-q2d

commit 99a55a0392b1634ce81e594f48a1105e8ebc1d58
Author: Joshua Root <jmr at gelato.unsw.edu.au>
Date:   Thu Dec 6 09:13:48 2007 +0100

    Remove strange make dependency
    
    Listing "-lpthread" as a dependency in a make rule doesn't make much sense.
    
    Signed-off-by: Joshua Root <jmr at gelato.unsw.edu.au>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 951ea56c26b7d828c2783f98ca5e2df3e9dad6c8
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Wed Dec 5 18:08:10 2007 -0500

    Added in Q2D histograms (requires -A)
    
    As an example, the buckets are in seconds:
    
    ==================== Q2D Histogram ====================
    
           DEV | <.005 <.010 <.025 <.050 <.075 <.100 <.250 <.500 < 1.0 >=1.0
     --------- | ===== ===== ===== ===== ===== ===== ===== ===== ===== =====
     ( 66, 80) |  61.2   7.9  12.1   7.9   3.0   1.4   1.5   0.2   0.0   4.6
     ( 65,192) |  42.3   5.0   8.7  30.0   8.9   3.0   1.8   0.1   0.0   0.1
     ( 65,128) |  34.3   5.3   8.9  32.0   9.7   3.7   5.3   0.6   0.0   0.1
     ( 66,  0) |  45.5   9.9  19.0  14.8   4.6   1.2   0.3   0.0   0.0   4.7
     ( 65, 48) |  50.2   4.6   7.2  27.6   6.9   2.1   1.1   0.0   0.0   0.1
     ( 66, 32) |  66.4   6.7  10.9   7.0   2.5   1.1   0.6   0.1   0.0   4.7
     ( 65,224) |  33.9   9.6  20.6  17.8   7.3   3.1   3.3   0.5   0.1   3.8
     ( 65,112) |  35.3   5.2   8.7  30.8   9.3   3.9   5.6   0.9   0.1   0.1
     ( 65, 80) |  57.9   4.6   6.6  25.2   4.7   0.8   0.2   0.0   0.0   0.1
     ( 65,240) |  62.6   8.1  13.1   7.7   2.3   0.6   0.5   0.0   0.0   5.1
     ( 66,112) |  59.6   8.0  13.1   8.6   3.3   1.5   1.2   0.1   0.0   4.6
     ( 65,144) |  45.8   5.1   7.9  29.3   7.8   2.5   1.4   0.0   0.0   0.1
     ( 65,176) |  43.2   5.2   8.9  30.8   8.3   2.5   1.0   0.0   0.0   0.1
     ( 66, 16) |  77.0   5.4   7.4   3.3   0.7   0.3   0.7   0.1   0.0   5.0
     ( 65, 96) |  54.6   4.9   7.2  26.6   5.3   1.0   0.2   0.0   0.0   0.1
     ( 66, 48) |  71.0   6.8  10.5   5.4   0.9   0.1   0.1   0.0   0.0   5.2
     ( 65,208) |  43.5   5.6   8.5  31.0   7.2   2.2   1.9   0.0   0.0   0.1
     ( 66,128) |  69.5   7.0  10.3   6.2   1.5   0.3   0.1   0.0   0.0   5.0
     ( 65, 64) |  59.9   4.2   6.0  24.6   4.2   0.8   0.1   0.0   0.0   0.1
     ( 66, 64) |  62.6   8.1  12.7   7.9   2.4   0.6   0.1   0.0   0.0   5.4
    ========== | ===== ===== ===== ===== ===== ===== ===== ===== ===== =====
           AVG |  52.9   6.2  10.0  20.1   5.3   1.7   1.4   0.2   0.0   2.1

commit 24c7e97eb6a28a3cfcc966aa2d38af6caed01997
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Wed Nov 14 10:45:23 2007 +0100

    memset() must be done after NULL check
    
    Pointed out by Jan Blunck <jblunck at suse.de>
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 50f7389936188591eda0f114ab682520e6fe90c9
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Tue Nov 13 17:16:38 2007 -0500

    Added active requests at Q information.
    
    An important consideration when analyzing block IO schedulers is to know
    how many requests the scheduler has to work with. The metric provided
    in this section details how many requests (on average) were being held
    by the IO scheduler when an incoming IO request was being handled. To
    determine this, btt keeps track of how many Q requests came in, and
    subtacts requests that have been issued (D).
    
    Sample:
    
    ==================== Active Requests At Q Information ====================
    
           DEV |  Avg Reqs @ Q
    ---------- | -------------
     ( 65, 80) |          12.0
     ( 65,240) |          16.9
     ( 65,112) |          13.3
     ( 66, 64) |          32.8
     ( 66, 80) |          21.5
     ( 65, 96) |           8.6
     ( 66, 16) |          16.2
     ( 65, 64) |          20.4
     ( 66, 96) |          18.3
     ( 65,176) |          17.4
     ( 66, 32) |          13.6
     ( 65,144) |          13.4
     ( 66,  0) |          21.4
     ( 65,192) |          19.4
     ( 66,128) |          18.4
     ( 66,144) |          16.2
     ( 65,128) |           8.0
     ( 66,112) |          44.2
    ---------- | -------------
       Overall | Avgs Reqs @ Q
       Average |          17.4
    
    Signed-off-by: Alan D. Brunelle <Alan.Brunelle at hp.com>

commit 77f256cda4b2f076f5169fdf1bc815f629eea361
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Thu Nov 8 08:34:44 2007 -0500

    Fixed REMAP to update Q2A & fixed #Q calculations

commit c0c1840adae820efa96fb0ff797b8bc60a672d63
Author: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
Date:   Mon Oct 29 20:47:28 2007 +0100

    blktrace segfault
    
    Core was generated by `blktrace -d /dev/hdc'.
    Program terminated with signal 11, Segmentation fault.
    #0  0xb7e4cdec in ?? ()
    (gdb) where
    #0  0xb7e4cdec in ?? ()
    #1  0xb7dbf000 in ?? ()
    #2  0x00021000 in ?? ()
    #3  0xb7dee6e8 in ?? ()
    #4  0x0804ecf0 in ?? ()
    #5  0x00000001 in ?? ()
    #6  0x6c616367 in ?? ()
    #7  0xbfee3f68 in ?? ()
    #8  0xb7f51300 in ?? ()
    #9  0x00000168 in ?? ()
    #10 0x0804ecf0 in ?? ()
    #11 0x00000001 in ?? ()
    #12 0xbfee3f88 in ?? ()
    #13 0xbfee3f68 in ?? ()
    #14 0x080499dc in close_thread (tip=0xb7f1eff4) at blktrace.c:637
    Backtrace stopped: frame did not save the PC
    (gdb)
    
    the below diff fix the same.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 60d658630cfe397a93a97f1b38350b27eacc317e
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Wed Oct 10 13:25:20 2007 -0400

    Added O_NOATIME to replay file
    
    Signed-off-by: Alan D. Brunelle <Alan.Brunelle at hp.com>

commit cbb3e69ee7499d2df365e2dbc1dfd367a4d997f8
Author: Joshua Root <>
Date:   Wed Oct 10 07:17:56 2007 -0400

    Fix segfault in replay_sub when verbose is 1
    
    tip->vfp is only initialised when verbose > 1, so we must only use it
    under the same circumstance.
    
    Signed-off-by: Alan D. Brunelle <Alan.Brunelle at hp.com>

commit 143d41ae9daaf96fa09738d3fa0b93b494b9421d
Merge: 65a7043 0106d9c
Author: Alan D. Brunelle <adb at korik.(none)>
Date:   Fri Oct 5 18:30:27 2007 -0400

    Merge branch 'master' of git://brick.kernel.dk/data/git/blktrace

commit 0106d9cfa13b912042bace7bbb2d2475dfd35e10
Author: Alan D. Brunelle <adb at korik.(none)>
Date:   Fri Oct 5 16:32:46 2007 -0400

    Converted fatal to an inline function
    
    Removes warning from gcc-4.2.1

commit 65a7043b1102901880fa6e3173ba2ab34e0cf113
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Wed Oct 3 10:49:42 2007 -0400

    Converted fatal from macro to inline
    
    Hopefully this will fix a gcc-4.2.1 warning.
    
    Signed-off-by: Alan D. Brunelle <adb at korik.(none)>

commit d47a3fec3f4bbcf6b0c6ef757a4eb449dd81d10a
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Tue Oct 2 12:35:07 2007 -0400

    Add btrecord/btreplay capability
    
    These facilities allow one to attempt to replay a stream of IOs
    captured with blktrace. The general workflow is:
    
    1. Initiate blktrace to capture traces
    2. Do whatever to generate initial IO stream...
    3. Stop blktrace
    4. Run btrecord to convert traces into IO records
    5. Run btreplay to replay IOs
    
    The IO stream characteristics during replay will try to respect the
    following characteristics of the original IO stream:
    
    1. The IOs will target the same device(s) as originally seen. [One can
       alter this behavior by specifyin the -M option to btreplay, which
       allows one to remap IOs slated to one set of devices to a specified
       other set of devices.]
    
    2. IO direction: the IOs will follow the same read/write
       (from-device/to-device) characteristics of the originating flow. [Note:
       By default replay will /not/ do writes, one must specify the -W option
       to do this. THis is a meager attempt to stop someone from shooting
       themselves in the foot (with a very large-caliber weapon).]
    
    3. IO offset & size are maintained.
    
    4. CPU: IOs are submitted on the originating CPU whenever possible. [Note:
       Since we are using asynchronous IO, IOs may be routed to another CPU
       prior to being processed by the block IO layer.]
    
    In order to try and replicate inter-IO timing as much as possible,
    btrecord will combine IOs "close in time" into one set, or bunch, of
    IOs. Then btreplay will replay all the IOs in one go (via asynchronous
    direct IO - io_submit). The size of the bunches are configurable via
    the -m flag to btrecord (which specifies the a time-based bunch size)
    and/or the -M flag (which specifies the maximum amount of IOs to put
    into a bunch). At the low-end, specifying '-M 1' instructs btrecord to
    act like fio - replay each IO as an individual unit.
    
    Besides the potential to remap devices (utilizing the -M option to replay,
    as noted above), one can also limit the number of CPUs on the replay
    machine - so if you have fewer CPUs on the replay machine you specify
    the -c option to btreplay.
    
    Lastly, one can specify the -N option to btreplay to instruct it to ignore
    inter-IO (inter-bunch of IOs) timings. Thus, this instructs btreplay
    to replay the bunches as fast as possible, ignoring the original delays
    between original IOs.
    
    The utilities include a write-up in the docs directory.
    
    Signed-off-by: Alan D. Brunelle <Alan.Brunelle at hp.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 4f93192893f41acfe1ded673c1111142b8f4cddd
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Tue Oct 2 12:08:34 2007 -0400

    Added list_splice to btt/list.h
    
    list_splice is needed for the addition of btrecord/btreplay.
    
    Signed-off-by: Alan D. Brunelle <Alan.Brunelle at hp.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 9a8e0e1766abcf7fbc71b7a60cd6d0c85573bd52
Author: Bas Zoetekouw <bas at debian.org>
Date:   Mon Oct 1 08:33:37 2007 +0200

    btt manpages
    
    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 at oracle.com>

commit 0730bfb48a303c7b62b45ff6b8661d2356601da1
Author: Bas Zoetekouw <bas at debian.org>
Date:   Mon Oct 1 08:32:29 2007 +0200

    Fix compilation on m68k
    
    Missing defines for store_barrier()
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 4c48f14ea8ae2fae86811ac4dc1d72ad9bb601c2
Author: Alan D. Brunelle <Alan.Brunelle at hp.com>
Date:   Mon Sep 10 18:37:49 2007 +0200

    Major revamping (ver 2.0)
    
    After a lot of fighting with maintaining a tree-styled design (each trace
    having it's own node), it was just getting too cumbersome to work in all
    circumstances. Taking a clue from blkparse itself, I decided to just keep
    track of IOs at queue time, and updating fields based upon later traces.
    
    The attached (large) patch works much faster, handles larger test cases
    with less failures, and is managing some pretty large jobs I'm working on
    (large Oracle-based DB analysis - 32-way box w/ lots of storage).
    
    I've also added a Q2Q seek distance feature - it's come in handy when
    comparing results of IO scheduler choice: We can see what the incoming IO
    seek distances are (at queue time), and then see how the scheduler itself
    manages things (via merges & sorting) by looking at D2D seek distances
    generated.
    
    As noted in the subject, I arbitrarily bumped this to version 2.00 as the
    innards are so different. The documentation (btt/doc/btt.tex) has been
    updated to reflect some minor output changes. I also fixed a bug dealing
    with process name notification: there was a problem that if a new PID came
    up with a name that was previously seen, btt wouldn't keep track of it
    right. [When running with Oracle, a lot of processes have the same name but
    different PIDs of course.]
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

-- 
Please sync blktrace 1.0.1-2 (universe) from Debian unstable (main).
https://bugs.launchpad.net/bugs/400681
You received this bug notification because you are a member of Ubuntu
Sponsors for universe, which is a direct subscriber.



More information about the Ubuntu-universe-sponsors mailing list