--- blktrace-1.0.1.orig/changelog +++ blktrace-1.0.1/changelog @@ -0,0 +1,6088 @@ +commit 29dec8c92c05dac35a55fa2ed1a0ac3cab8d41f2 +Merge: 84feb18 1e09f6e +Author: Bas Zoetekouw +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 +Date: Mon May 11 14:00:10 2009 +0200 + + Version 1.0.1 + + Signed-off-by: Jens Axboe + +commit 420c2b7629ca7f7c81896652edb93c3a97c87c4c +Author: Eric Sandeen +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 + Signed-off-by: Eric Sandeen + Signed-off-by: Jens Axboe + +commit 73ad1727443924d5efa94d5fad1ad3cfea3d3780 +Author: Eric Sandeen +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 + Signed-off-by: Eric Sandeen + Signed-off-by: Jens Axboe + +commit bc93336f08a3773cdc8d88eda035346e3896fa29 +Author: Eric Sandeen +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 >/ + Signed-off-by: Eric Sandeen + Signed-off-by: Jens Axboe + +commit fbdf23ecc21c6fbbc6fd25d41e3072d06188d274 +Author: Eric Sandeen +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 + Signed-off-by: Jens Axboe + +commit 306a8ee991a42055365aade54b9c988e5373cef5 +Author: Eric Sandeen +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 + Signed-off-by: Jens Axboe + +commit 580f7440b93c08266867716dc4b891845f7ad891 +Author: Alan D. Brunelle +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 + Signed-off-by: Jens Axboe + +commit af90543f47f93782df94a3a56d4f607f4dd6ad4c +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit b5f8804a588fffdea10a0cd46a36fc196acea9f2 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 8d388c8ea6a58186bfdf7ca7fc4e1268eced8b14 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 60886290e2ba6ddae1213f3a13929193180c8c55 +Author: Jeff Moyer +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@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 + +commit bb4a66074cecd59afc37f0053fdf42661503f51c +Author: Alan D. Brunelle +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 +Date: Thu Apr 2 12:09:08 2009 -0400 + + Working on fixing % time q plugged + +commit d8ba9b683e1a341ab72c40836c05a360875c2e5e +Author: Eric Sandeen +Date: Thu Mar 26 20:44:06 2009 +0100 + + fix trivial typo in manpage + + Fix small typo as reported by Kent Baxley + in Red Hat Bug 489941 - tiny typo in blktrace manpage + + Signed-off-by: Eric Sandeen + Signed-off-by: Jens Axboe + +commit cfa089d429acfcb5a21be63ded7f943287401fef +Author: Carl Henrik Lunde +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 + Signed-off-by: Jens Axboe + +commit f547a39d32d514eb7bce82b955193b73e9828c85 +Author: Tom Zanussi +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 + Signed-off-by: Jens Axboe + +commit 726d2aee9d2b97b32daa08824857c77f9536609f +Author: Alan D. Brunelle +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 | --output= ] Default: .png + [ -T | --title= ] Default: Based upon + [ -v | --verbose ] Default: False + + + 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 +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 +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 + +commit 5d65b5e6333cfdd14ab0e944cef8474445e531b3 +Author: Alan D. Brunelle +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 + +commit 358504bb7869e73e38abcbc78b50d441f693711e +Author: Jens Axboe +Date: Tue Feb 17 13:39:40 2009 +0100 + + O_NOATIME isn't always present + + Signed-off-by: Jens Axboe + +commit ee27874baa43db7d697b5de72938e4ccb71bdabb +Author: Alan D. Brunelle +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 + +commit c053af429559c8f4311cd773262ff223097cdcb3 +Author: Alan D. Brunelle +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 +Date: Thu Feb 12 14:28:51 2009 -0500 + + btt: Missed fopen conversion to my_fopen + + Signed-off-by: Alan D. Brunelle +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 +Date: Thu Feb 12 11:13:20 2009 -0500 + + Reworked blktrace master/thread interface + + Allows parallel initializations. + + Signed-off-by: Alan D. Brunelle + +commit 52481561c1f0cdc6fa76a15d800b2b228fda7877 +Author: Alan D. Brunelle +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 + +commit 3b552a2d1ff8ecccbbb82668f73d1cb134fca1e9 +Author: Alan D. Brunelle +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 +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 + +commit 6488ca487c5695b784db56c79b67007e92eeb2ac +Author: Alan D. Brunelle +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 +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 +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 +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 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 for testing and + finding some issues and for providing suggestions. + + Signed-off-by: Alan D. Brunelle + +commit 99bb5ebc255618e4af913d2e5f1bf268af552bdf +Author: Alan D. Brunelle +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 + +commit 69dd57c2986bb025d7de12ab6eb52d5cd130d453 +Author: Alan D. Brunelle +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/ where 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 + Signed-off-by: Jens Axboe + +commit 61165962f86cb2de0b163f6083bff5649f692e91 +Author: Martin Peschke +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 + Signed-off-by: Stefan Raspl + Signed-off-by: Jens Axboe + +commit b3ee499dd143aeaed311bf3bc6d14871168b6657 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 19cfaf3f4d8e53ce43cccd809676f8f2a40f0b34 +Author: Alan D. Brunelle +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 + Signed-off-by: Jens Axboe + +commit ef02006b0131f298595b37afb07562ee50fae5cc +Author: Alan D. Brunelle +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 +Date: Tue Nov 11 13:51:33 2008 -0500 + + Merge branch 'add-P' + +commit 7ae1d0bfcaaf46102fb747a4a21fcbe0a1887800 +Merge: f3db347 d00dcee +Author: Alan D. Brunelle +Date: Tue Nov 11 13:50:23 2008 -0500 + + Merge branch 'fix-m' + +commit a22df989ded0fb438dcad77a08c59a1a16b6b849 +Author: Alan D. Brunelle +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 +Date: Tue Nov 11 13:42:55 2008 -0500 + + Merge branch 'fix-m' into add-P + +commit d00dcee7f0d77f64c59ee47bfcf09809dad366ff +Author: Alan D. Brunelle +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 +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 +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 +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 +Date: Thu Oct 30 15:06:01 2008 +0100 + + Set release version 1.0.0 + + Signed-off-by: Jens Axboe + +commit 0bc6b06188c993a9d64a4833e329446d37f553e8 +Author: Jens Axboe +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 + +commit 57425a8a0c1238a9fc9dbc70a597c4011ea82f31 +Author: Alan D. Brunelle +Date: Wed Oct 29 15:04:03 2008 -0400 + + Moved btrecord/btreplay to version 1.0.0 + +commit 53cab5f58afd61525674ba7d6de8ac111f173a90 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 29ec9a38dabc610005c5b8d11dba2a0824117c97 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 9b26a3a85a21f1b4ae61ba243143202eff1fd1e4 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 4bd8e3ba5553be4e6dad03b8f9ef5a7ef984124b +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 369ba3dec9e78c65f9405f20a2b14c8e9cf2940c +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 7aa3ebcec011bfe9cc60d6476252c03376a37551 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 3bc3451b471fe4cea365654481258a1a1913018e +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit c701176c4befb44efe68e3b5e09ca710b4be357d +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit 2baef5087c57d39ee2fc488cd52348f61f32b1fc +Author: Alan D. Brunelle +Date: Thu Oct 16 12:03:45 2008 -0400 + + Added in -L option - output periodic latency information + +commit 4ae2c3c6215de3f9016b5211ac83893cb061b1e1 +Author: Alan D. Brunelle +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 +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 + Signed-off-by: Martin Peschke + Signed-off-by: Jens Axboe + +commit 5d4f19d9812264bfb45427716330d0bd2529dfd9 +Author: Jens Axboe +Date: Thu Oct 16 08:05:53 2008 +0200 + + blktrace: accept -v (lower case) for version info as well + + Christof Schmitt points out that the + documentation uses -v but blktrace supports only -V, so change + blktrace to accept both cases. + + Signed-off-by: Jens Axboe + +commit cc19ddd696e8931a969e943523e1dcf7a11ffe79 +Author: Martin Peschke +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 + Signed-off-by: Jens Axboe + +commit abf63eafd11e42e0f065e56fc4773e6854087d41 +Author: Alan D. Brunelle +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 +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 +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 + +commit 5eace3dbc1b0f0832c900c86d5a9c96af242dfa7 +Merge: 6f2cb32 64c0316 +Author: Jens Axboe +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 +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 + +commit 32ff7e3b023c655c63d53b2b14e151f82bd83229 +Author: Alan D. Brunelle +Date: Tue Sep 23 08:06:41 2008 -0400 + + Added in %done for btt + +commit 84feb18fb1e50d3356fdc202fa0f4e54918517ac +Merge: 0dc8ade 64c0316 +Author: Bas Zoetekouw +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 +Date: Fri Aug 15 11:12:20 2008 +0200 + + Add documentation of 'D' discard operation + + Signed-off-by: David Woodhouse + Signed-off-by: Jens Axboe + +commit 37081bf5636d1bef1dd141a03a64b3c516867ac9 +Author: David Woodhouse +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 + Signed-off-by: Jens Axboe + +commit ea86559e392fc012f9b30eb109d3421d463c8848 +Author: Jeff Moyer +Date: Tue Jul 1 13:35:29 2008 +0200 + + spelling and grammar fixes for btreplay.tex + + Signed-off-by: Jens Axboe + +commit 84a26fcd9adebd1537bf2c4eee69d1ca23ccbc5f +Author: Alan D. Brunelle +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 +Date: Tue May 27 08:34:13 2008 -0400 + + Added in new message updates to the documentation. + +commit 1a15f6a82d62babb9d2f04a7400ff316a666dd42 +Author: Alan D. Brunelle +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 for adding in sequence + printing & time-stamp correction. + +commit 5bebfd168c3f3f42acfd4a0263e9f4d1f5faea16 +Author: Alan D. Brunelle +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 +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 +Date: Sun May 18 20:55:25 2008 +0200 + + blkparse: cope with missing process notify event + + Signed-off-by: Jens Axboe + +commit dd14158dca460522c22afbd7e22343e4012fffe0 +Author: Alan D. Brunelle +Date: Mon May 12 09:56:33 2008 -0400 + + Fixed percentage calculations for phases of an I/O + +commit 354db430eeaced3b8234668e6527910875d54e50 +Author: Alan D. Brunelle +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 +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 +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 + +commit 7072ee3f2f12a1363d6f7378df3f268350e5bd52 +Author: Luis Useche +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 + +commit a26daeb87cd49c2d6640965337cf625ae800c35a +Author: Luis Useche +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 + +commit 0dc8ade0a99f47539702e5ce36aece56e440ecc8 +Merge: f0fa9d0 801646d +Author: Bas Zoetekouw +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 +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 + Signed-off-by: Jens Axboe + +commit c82a8c9d6d21b15732a92f9481ea1bcb45c9ce8c +Author: Christof Schmitt +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 + Signed-off-by: Jens Axboe + +commit f0fa9d008999c2450de24e522b3018968b0c849f +Merge: 2352b59 967492e +Author: Bas Zoetekouw +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 +Date: Fri Feb 22 12:58:12 2008 +0100 + + Fix section of btrecord and btreplay man pages + + Signed-off-by: Jens Axboe + +commit cd10564816a3c095f4fac1d5e28f1fb7d2245a17 +Author: Bas Zoetekouw +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 + +commit ee43a14384e16eb456a44a18ee5027c67dba55f2 +Author: Bas Zoetekouw +Date: Fri Feb 22 11:27:04 2008 +0100 + + Really commit the changes to btt.1 + + Signed-off-by: Jens Axboe + +commit bf46286a9e537ee177f795195bf059a09d1f4089 +Author: Bas Zoetekouw +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 + +commit 2352b59425d2464e0d490940baad9e9da596bc9e +Author: Bas Zoetekouw +Date: Fri Feb 22 12:58:12 2008 +0100 + + Fix section of btrecord and btreplay man pages + +commit 822ad6d88a2fcb9eb077c9fa1d405e0a57fce876 +Author: Bas Zoetekouw +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 +Date: Fri Feb 22 11:27:04 2008 +0100 + + Really commit the changes to btt.1 + +commit 3d76c6ecdf13546816102655237133d03c4cd549 +Author: Bas Zoetekouw +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 +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 +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 + +commit c8aea612abc714072e346366cb0e5cf9da8a2f5f +Author: Aaron Carroll +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 + +commit 3e95108c8e2c1e804f54d1512f83eb6eff90cc13 +Author: Aaron Carroll +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 + +commit ef14423994b40499402269896fc1aa5567bcdba9 +Author: Alan D. Brunelle +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 +Date: Fri Feb 8 10:03:13 2008 -0500 + + Merge branch 'bno_plot.submit' + +commit b70a66427b4674b2a37660a196e5c6db181dd4ec +Author: Alan D. Brunelle +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 +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 ] + [ ] + + Utilizes gnuplot to generate a 3D plot of the block number output + from btt. If no 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 +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 +Date: Thu Jan 31 13:02:24 2008 -0500 + + Fixed excess bucket information for unplug histograms. + +commit 0e0d2a37803989818112d35e5ee5e172ed5c8ee5 +Merge: 1d4e6f4 461afe8 +Author: Bas Zoetekouw +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 +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 + +commit 1d4e6f4dec4684d174f1bdfa0c762d0473d2061e +Merge: 1a56637 ae6d30f +Author: Bas Zoetekouw +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 +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 +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 +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 + +commit 0673f05ec8905faf82df6f8c40dbe69057cdc8d6 +Author: Bas Zoetekouw +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 +Date: Thu Dec 6 09:00:47 2007 -0500 + + Merge branch 'master' into add-q2d + +commit 99a55a0392b1634ce81e594f48a1105e8ebc1d58 +Author: Joshua Root +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 + Signed-off-by: Jens Axboe + +commit 951ea56c26b7d828c2783f98ca5e2df3e9dad6c8 +Author: Alan D. Brunelle +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 +Date: Wed Nov 14 10:45:23 2007 +0100 + + memset() must be done after NULL check + + Pointed out by Jan Blunck + + Signed-off-by: Jens Axboe + +commit 50f7389936188591eda0f114ab682520e6fe90c9 +Author: Alan D. Brunelle +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 + +commit 77f256cda4b2f076f5169fdf1bc815f629eea361 +Author: Alan D. Brunelle +Date: Thu Nov 8 08:34:44 2007 -0500 + + Fixed REMAP to update Q2A & fixed #Q calculations + +commit c0c1840adae820efa96fb0ff797b8bc60a672d63 +Author: Aneesh Kumar K.V +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 + +commit 60d658630cfe397a93a97f1b38350b27eacc317e +Author: Alan D. Brunelle +Date: Wed Oct 10 13:25:20 2007 -0400 + + Added O_NOATIME to replay file + + Signed-off-by: Alan D. Brunelle + +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 + +commit 143d41ae9daaf96fa09738d3fa0b93b494b9421d +Merge: 65a7043 0106d9c +Author: Alan D. Brunelle +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 +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 +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 + +commit d47a3fec3f4bbcf6b0c6ef757a4eb449dd81d10a +Author: Alan D. Brunelle +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 + Signed-off-by: Jens Axboe + +commit 4f93192893f41acfe1ded673c1111142b8f4cddd +Author: Alan D. Brunelle +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 + Signed-off-by: Jens Axboe + +commit 9a8e0e1766abcf7fbc71b7a60cd6d0c85573bd52 +Author: Bas Zoetekouw +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 + +commit 0730bfb48a303c7b62b45ff6b8661d2356601da1 +Author: Bas Zoetekouw +Date: Mon Oct 1 08:32:29 2007 +0200 + + Fix compilation on m68k + + Missing defines for store_barrier() + + Signed-off-by: Jens Axboe + +commit 4c48f14ea8ae2fae86811ac4dc1d72ad9bb601c2 +Author: Alan D. Brunelle +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 + +commit a5981e2e795319502cc8dda629482928f3b7b204 +Author: Jens Axboe +Date: Tue Aug 28 15:03:59 2007 +0200 + + blktrace 0.99.3 + + Signed-off-by: Jens Axboe + +commit 0bf926817ed82ef0b014a329af79826905ed54c3 +Author: Jens Axboe +Date: Tue Aug 28 15:00:33 2007 +0200 + + blktrace man page: mention buffer size / number of buffers defaults. + + Signed-off-by: Jens Axboe + +commit bb4afebb049c1a1ba6adb4a564413337ca985805 +Author: Valerie Henson +Date: Mon Aug 27 21:50:57 2007 +0200 + + blktrace: fix indent typo + + Fix minor indentation typo in blktrace man page. + + Signed-off-by: Jens Axboe + +commit e2d964ec9f7f92da9abe0fb2588606dda39306ce +Author: Jan Blunck +Date: Sun Aug 26 19:35:31 2007 +0200 + + Makefile fixes + + Here is a patch with small fixes to the Makefiles which I use in the + openSUSE blktrace package. + + Signed-off-by: Jan Blunck + Signed-off-by: Jens Axboe + +commit f806a4478092ab8e2383efd05aa88073e55df7e7 +Author: Jens Axboe +Date: Mon Aug 20 15:31:50 2007 +0200 + + Disregard generated doc files in .gitignore + + Signed-off-by: Jens Axboe + +commit 2885ecaa19a04ab9980896d1a849cdae9238b7d1 +Author: Vincent Legoll +Date: Mon Jul 30 15:23:43 2007 +0200 + + Fix Makefile buglets + + - make install without having called make before + - create man directories if non pre-existent + + Signed-off-by: Vincent Legoll + Signed-off-by: Jens Axboe + +commit 98eee4e48b9461a04c2461a856c9592d504a6fb1 +Author: Jens Axboe +Date: Tue Jul 24 16:02:28 2007 +0200 + + Add man pages + + Thanks to Bas Zoetekouw for providing these! And + shame on me for forgetting to add them to the git repo. + + Signed-off-by: Jens Axboe + +commit e0ede9d3eec5d558abf98d94fa9b6098dc5ee013 +Author: Jens Axboe +Date: Wed Jul 18 13:51:56 2007 +0200 + + git:// url location update + + Signed-off-by: Jens Axboe + +commit 758019ab551c13f57ba95c3512c73d61322632da +Author: Jens Axboe +Date: Wed Jun 13 16:16:00 2007 +0200 + + Update email address + + Signed-off-by: Jens Axboe + +commit 683ffbab5860bf116b9c07abd7641892d8d0a39f +Author: Jens Axboe +Date: Thu May 31 16:27:37 2007 +0200 + + Make the %C format specified explanation more clear + + Signed-off-by: Jens Axboe + +commit d57450af7817f35ddaa3241426a6213689a3eec6 +Author: Jens Axboe +Date: Wed May 30 13:02:01 2007 +0200 + + Small format update for empty requests + + The kernel can use empty bio's or requests for signalling purposes + (such as sending a barrier down with no data attached), update the + format to output more appropriately for those. + + Signed-off-by: Jens Axboe + +commit fb2ec7961d3cfc7fb8f84bcf6ae803ed1c7bd180 +Author: Jens Axboe +Date: Mon May 21 10:25:38 2007 +0200 + + Account size of merges + + Just like we do for queues/dispatches/completions etc. + + Signed-off-by: Jens Axboe + +commit 986259305d0f5a91b4118685e8c9bb763200308a +Author: Jens Axboe +Date: Mon May 21 10:16:59 2007 +0200 + + Fix queued vs dispatch numbers + + A merge trace includes a queue trace. blkparse accounted both + of them, resulting in the queued transfer number being a lot + larger than it should be. Fix that by not accounting bytes + in the merge handling. + + Signed-off-by: Jens Axboe + +commit 00cd304410a4e750ef929823dca3b932baa797b0 +Author: Jens Axboe +Date: Wed May 16 11:02:18 2007 +0200 + + Fix crash with '-' stdin input + + Need to use argv[optind], not optarg. + + Signed-off-by: Jens Axboe + +commit 3b79b22702659877d9ced51d77b175f2cbdbf940 +Author: Alan D. Brunelle +Date: Fri May 11 15:43:06 2007 +0200 + + btrace: Add in -r support for btrace + + Using Ubuntu, debugfs is mounted on /debug instead of /sys/kernel/debug. + [Perhaps, we should put in blktrace a search through "common" areas + where debug could be mounted, and or do a simple parsing of the output + from a 'mount' command to /find/ the directory.] + + Signed-off-by: Jens Axboe + +commit 5406b9715ffa8deecea13185a281196f878c53c6 +Author: Alan D. Brunelle +Date: Wed Apr 18 14:53:52 2007 +0200 + + Fix unplug histogram placement. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit fc16a815417c438ed6d980d3a08d2f37122810cc +Author: Alan D. Brunelle +Date: Mon Apr 16 19:17:12 2007 +0200 + + Add in unplug IO count histogram + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 77ed842eb4ee96f0e7a69ec58bb63eb99469a087 +Author: Alan D. Brunelle +Date: Mon Apr 16 19:16:55 2007 +0200 + + Cleaned out the btt/README file. + + The documentation under btt/doc/btt.tex is current, while this is woefully + out of date. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 6904079488cd3063d171021c8954f955f4236849 +Author: Alan D. Brunelle +Date: Sat Apr 14 08:05:06 2007 +0200 + + Combine all outstanding patches into one /big patch/ + + o Added seek absolute option -- allows one to specify whether they want + seek distances to be calculated based upon nearness to previous IO or + from start to start. + + o Added block number dumping + + o Updated btt documentation for above. + + o Significant clean up of memory used and files opened. All allocated + memory and opened files are cleaned up prior to normal program exit. + + o Fixed problem where Q & M traces were not being freed properly. + + o Fixed problem where bilink structures were not being freed properly. + + o Fixed omission -- output combined seeks in addition to read and + write seeks. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit c8b0b334cc1028ad8aa5407667233747af96a942 +Author: Alan D. Brunelle +Date: Fri Apr 13 20:12:47 2007 +0200 + + A couple of weeks ago Ming Zhang had noted that btt was using tremendous + amounts of memory to accomplish a run. After looking at the code, and + doing some testing, I determined the cause - please find a patch to the + latest tree that seems to fix the problem for me... + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 425c69552d4fbf7705c74aef4761324ed641cb28 +Author: Bas Zoetekouw +Date: Fri Apr 6 17:46:09 2007 +0200 + + [PATCH] Add store barrier defines for a bunch of archs + + This makes blktrace work/compile on: alpha, hppa, sparc, m68k, mips and arm. + + Signed-off-by: Jens Axboe + +commit 7174703f7b648246e68651d7364daa5baccff9d3 +Author: Alan D. Brunelle +Date: Tue Mar 6 20:18:07 2007 +0100 + + Some fixes - added in 4 figures, fixed an error in a section label. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 37d40cb2de1bd35e278004490eabd99867978d12 +Author: Alan D. Brunelle +Date: Mon Mar 5 18:20:37 2007 +0100 + + Fix warning in output.c where __u64 is a long, not a long long + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 512566d40074e9d263182e5df6a87993c198323e +Author: Alan D. Brunelle +Date: Mon Mar 5 12:41:38 2007 +0100 + + BTT: Added user guide + + o Added in new btt/doc directory w/ Makefile. + o Added in btt/doc/btt.tex: First pass at a User Guide for btt. + o Fixed usage for btt (missing -A in the usage). + o Bumped version of btt to reflect this document. + o Cleaned up a leftover debug entry + + Note: The document does /not/ have the charts intended in the final + copy yet. Hasn't even gone through a spelling & grammar & consistency + check yet. + + But it's a start... + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 74dc9101593183cbf464680dc9c2278734449469 +Author: Alan D. Brunelle +Date: Mon Mar 5 12:41:19 2007 +0100 + + BTT: Clean up output in preparation for first major documentation effort. + + Took out non-useful verbose per-device and per-process data from + default output. Added in -A option to put that out. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 67f9c3db3c13979be2d350b108ec2e5705cbf0eb +Author: Alan D. Brunelle +Date: Mon Feb 26 20:44:29 2007 +0100 + + Fix a typo in unplug's due to timers. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 11997716f0b60e3602a807b60c85636aa17af984 +Author: Alan D. Brunelle +Date: Mon Feb 26 20:44:28 2007 +0100 + + Add in the notion of pre-culling IOs per device until a Q is hit. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit cf1edb17bb790c348393aff20685dbafe99ee48f +Author: Alan D. Brunelle +Date: Mon Feb 26 20:44:27 2007 +0100 + + Added ability to add device names from a file to blktrace. + + Added new argument to blktrace: + + -I + + Where has one device per line, each device is added to any + explicit -d arg, or the trailing device arguments. + + Signed-off-by: Jens Axboe + +commit fa0ab85de6801b1ebfddf9b697ac0293c14c3e00 +Author: Alan D. Brunelle +Date: Mon Feb 26 20:44:24 2007 +0100 + + Add Q and D histograms (based upon IO size) + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit a6c42403c52df673378c30586f673b5fa86b4122 +Author: Alan D. Brunelle +Date: Mon Feb 26 20:44:23 2007 +0100 + + Fix remap handling (again). + + I guess majors 253 and 254 are both right. + Fixed typo in bilink_first_up. + + I'm seeing stuff like: + + 253,0 0 13 30.716486276 31815 Q R 0 + 8 [mount] + 253,0 0 14 30.718087082 3 C R 0 + 8 [0] + + Without any intervening stuff (remaps and gets and inserts and ...). So + added some support for this case. + + (Note: This requires the kernel patch I submitted on 2007/02/15 to make + any sense, although this code will "work" in any event.) + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit db8570e94bedcb7196af5c209ae970afe2918643 +Author: Alan D. Brunelle +Date: Mon Feb 26 20:44:21 2007 +0100 + + Fix plug output to only display when there are plug events to show. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 2b9df5a16d88c33139e5f85f40ca7fd55e43b35c +Author: Alan D. Brunelle +Date: Mon Feb 12 17:24:28 2007 +0100 + + Added return from blkrawverify to signal success or failure. + +commit 33f35150fdb42f350c13c6dd2bb5a3a2d17c23b0 +Author: Alan D. Brunelle +Date: Mon Feb 12 17:24:04 2007 +0100 + + Added in plug totals + + (Also, moved plug information header so it only prints out once for all + devices, rather than per-device.) + + Signed-off-by: Alan D. Brunelle + +commit b2822ceaae6f8b1d3601bde11a72a40a63fb8a32 +Author: Alan D. Brunelle +Date: Thu Feb 8 21:03:48 2007 +0100 + + [PATCH] Add in measuring of Plug and Unplug traces. + + Added in the display of plug information on a per-device basis. + + % Time Q Plugged: Percent of the total time during which the queue + was plugged + + ==================== Plug Information ==================== + + DEV | # Plugs # Timer Us | % Time Q Plugged + ---------- | ---------- ---------- | ---------------- + ( 68, 64) | 833( 0) | 0.36% + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 1790bf56c7bf3862b058d69ef2a1cc2df3986824 +Merge: fd97728 756d1f4 +Author: Jens Axboe +Date: Thu Feb 8 21:01:38 2007 +0100 + + Merge branch 'master' of ssh://git.kernel.dk/data/git/blktrace + +commit 756d1f4633715a4185ff946618a95c6d90eacbfb +Author: Alan D. Brunelle +Date: Thu Feb 8 15:59:02 2007 +0100 + + Added overall averages for seek information + + Results in the following addition: + +commit 773c17a071933bb82fefdcff0414ede00db5405a +Author: Alan D. Brunelle +Date: Thu Feb 8 15:58:58 2007 +0100 + + Added overall averages for merge information. + + Results in new tail to merge information: + +commit 2fa934ce1551ff524d1b9fc3034c3995d240f415 +Author: Alan D. Brunelle +Date: Thu Feb 8 15:58:55 2007 +0100 + + Fixed a problem where not all of a device structure was being cleaned out + + Signed-off-by: Alan D. Brunelle + +commit 65e3c3f6c84c9068061a57551406c3cb10e1d31c +Author: Alan D. Brunelle +Date: Thu Feb 8 15:58:45 2007 +0100 + + A couple of miscellaneous clean up operations. + + Signed-off-by: Alan D. Brunelle + +commit 6dee1e200c8fd7e667a5d96ce60b04caa6942691 +Author: Alan D. Brunelle +Date: Thu Feb 8 15:58:43 2007 +0100 + + Changed triggering on INSERT to GETRQ (temporary?) + + This is backwards compatible with previous versions, with the one + difference being that the Q2I information may be a bit shorter. + + The changes forthcoming with the explicit unplugging (2.6.20 + Jens' + unplag patches) require this. We may need to redefine and/or add a new + measurement once that settles down. When that happens, we'll most likely be + renaming things to better reflect GETRQ versus INSERT. + + Signed-off-by: Alan D. Brunelle + +commit 5cd3c859704590a07b0f83ffe2fecdd2169df472 +Author: Alan D. Brunelle +Date: Thu Feb 8 15:58:41 2007 +0100 + + Always output seeks averages, even if we are not tracking all ios + + Signed-off-by: Alan D. Brunelle + +commit 90ec4b1587d58b62c6c5a903c8f2179fc0e1f5c5 +Author: Vasily Tarasov +Date: Wed Feb 7 14:39:15 2007 +0100 + + [PATCH] Fix debugfs references in docs + + At several places in docs old mountpoint for debugfs is mentioned. + The patch just corrects these misprints. + + Signed-off-by: Jens Axboe + +commit fd977289b4b95ee2072d496ec90324ea9f62c1c7 +Author: Vasily Tarasov +Date: Wed Feb 7 14:02:03 2007 +0100 + + [PATCH] Improve dependency checking on builds + + Signed-off-by: Jens Axboe + +commit d76c5b81b99faca0959afcdd2e73330c61f69bfc +Author: Alan D. Brunelle +Date: Tue Feb 6 20:46:16 2007 +0100 + + [PATCH]: btt - major fixes and speed improvements + + From: Alan D. Brunelle + + Lots of changes to how we handle traces - adds robustness & quicker + + This large patch contains the following changes to the trace handling + aspects of btt: + + 1. Use larger buffers for output options. + + 2. Use mmap to handle the input of trace data. + + 3. More precise btt statistics are output at the end. + + 4. Added in (under DEBUG) the display of unhandled traces. I was running + into the problem where traces were not being connected, and the rb trees + would get quite large. This would slow things down considerably. (See + below for details on why traces weren't being handled.) + + 5. Sprinkled some ASSERTs (under DEBUG). + + 6. Added a new btt-specific trace type: "links" - since 'A' (remaps) + contain two separate pieces of information, I broke them up into a link + and a remap trace. [Thus, it is easy to find either end of the remap.] + + 7. Added in the notion of retries of completes (and requeues). I'm finding + some discrepencies in the time stamps, in order to make btt handle these + better, I've added the notion of keeping the trace around for a bit, + to see if it gets linked up later. + + 8. Separated trace streams into: simple IOs, and remapped IOs. + + 9. Fixed up D2C averages - Q2I + I2D + D2C should equal Q2C averages. + + ---------------------------------------------------------------------------- + I do not understand why it is so, but I am seeing two 'C' (complete) + traces for the same IO track at times. The sequence number is different + (+1 for the second one), and the time stamps are different (100's of + microseconds apart). I'm investigating this. + + At least on an IA64, I am seeing time inconsistencies amongst CPUs on very + heavy loads (48 disks, 4 CPUs, almost 300 million traces). I find the 'D' + (issue) and 'C' (complete) traces coming out ahead of the associate 'I' + (insert) and 'M' (merge) traces. It would be good to get this fixed in + the kernel, but I figure it is also goodness to attempt to account for + it in post-processing as well. + + ---------------------------------------------------------------------------- + This work was done in order to handle some of these large data sets, and + I've found that the performance is reasonable - here are some stats for + very large file (the largest of which used to take well over 12 minutes, + now it takes about 5 1/2 minutes - and a lot of that is just getting the + 18GiB of data read in): + + Size Real User System + ----- -------- -------- ------- + 7GiB 123.445s 80.188s 11.392s + 10GiB 179.148s 137.456s 16.680s + 13GiB 237.561s 156.992s 21.968s + 16GiB 283.262s 187.468s 26.748s + 18GiB 336.345s 225.084s 31.200s + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 0ac4c20e46fc644b1ac9e3021e3ebaa88b9c536f +Author: Vasily Tarasov +Date: Tue Jan 9 16:21:16 2007 +0100 + + [PATCH] Missed fixups wrt Bounce and Backmerge + + Signed-off-by: Jens Axboe + +commit 7d34075678b7ed1dd2026831b46175b1b6247885 +Author: Ming Zhang +Date: Tue Jan 2 15:32:23 2007 +0100 + + [PATCH] Fixup filename on full file input + + If the user by mistake specifies the full filename, strip that back down + to avoid missing input files. + + Signed-off-by: Jens Axboe + +commit bfabee7199b19ab3bd75b57e5833da4f47b7f540 +Merge: 4eb899a bd5e71c +Author: Jens Axboe +Date: Tue Jan 2 09:20:54 2007 +0100 + + Merge branch 'master' of ssh://axboe@router.home.kernel.dk/data/git/blktrace + +commit 4eb899a6de14660e2ce722dcc069836e17a6bc3e +Author: Jens Axboe +Date: Tue Jan 2 09:20:49 2007 +0100 + + [PATCH] Fix double free in error path + + Reported by zhuxudong + + If we fail reading, we will free the realloc'ed pointer and jump to + the error path which will free the original pointer. Fix this by clearing + the original pointer. + + Signed-off-by: Jens Axboe + +commit bd5e71cf069defccb2a5200c03ae7e55697791f8 +Author: Tom Zanussi +Date: Sat Dec 30 20:13:40 2006 +0100 + + [PATCH] Fix back descriptors + + The 'B' is really a bounce, not a backmerge. Fixup other merge + descriptors as well. + + Signed-off-by: Jens Axboe + +commit fb863d7ccfc7105bd71c89129e472f5eae14be9c +Author: Ming Zhang +Date: Thu Dec 21 15:56:19 2006 +0100 + + [PATCH] check do_foo return value before show_stat() + + current code will show_stats() even when do_foo() return non zero. + + Signed-off-by: Jens Axboe + +commit 8a82e321006f3a44d766a53d34f60a472375b8fc +Author: Ming Zhang +Date: Thu Dec 21 08:39:55 2006 +0100 + + [PATCH] fix a divide by zero error + + When pdi->events and pdi->seq_skips are both 0, current code will do + 0/0. + + Signed-off-by: Jens Axboe + +commit 67076cbc20112afd833a2d04cd8f1c8d2fbcfaeb +Author: Jens Axboe +Date: Wed Dec 20 14:00:54 2006 +0100 + + [PATCH] Enable use of FIFO as input + + Just reuse the stdin stuff for handling a named pipe. + + Signed-off-by: Jens Axboe + +commit 8afe3d7d64eaae67e96ea48af2d98df1e15cfc65 +Author: Alan D. Brunelle +Date: Tue Dec 19 08:18:38 2006 +0100 + + PATCH: blkparse: fix probem with empty trace files stopping the check for other files + + Fix problem where empty input files cause premature parsing of files. + Had a problem where CPU 0 opened a file with 0 traces, and that caused the + run to end before processing other trace files. + + Signed-off-by: Jens Axboe + +commit fe92fbb89695321292b6bf97cffdab72836a999a +Author: Jens Axboe +Date: Fri Dec 1 10:57:50 2006 +0100 + + [PATCH] README updates + + Signed-off-by: Jens Axboe + +commit d84dec8e66fdf6b4afab5c2b7ff51001abab5c06 +Author: Jens Axboe +Date: Fri Dec 1 10:55:23 2006 +0100 + + [PATCH] Bump version + + Signed-off-by: Jens Axboe + +commit e977fa915b278585aa63914bac03d79b955e8c1e +Author: Jens Axboe +Date: Fri Dec 1 10:52:20 2006 +0100 + + [PATCH] BTT patch: Fix problem with short runs + + Found a problem that if BTT took less than 1 second to execute, we'd get + Ktps of - this fixes that... + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 001b263355c68e219fb64d25564c41a0ee07a274 +Author: Jens Axboe +Date: Fri Dec 1 10:51:31 2006 +0100 + + [PATCH] BTT patch: (3/3) time bounded trace analysis + + Added in -t and -T options to allow bounding of traces analyzed. Be + forewarned: this can result in some excessive numbers of orphaned traces + (partial IO streams before the -t tiem and after the -T time won't + be analyzed). + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 095181f283c440c7669f2c14aef5e84c80ff433e +Author: Jens Axboe +Date: Fri Dec 1 10:50:45 2006 +0100 + + [PATCH] BTT patch: (2/3) per-IO stream output + + Two major updates: + + (1) Added in some robustness - can accept out-of-order traces, and can + "orphan" unfinished IO streams. + + (2) Added in ability to put IO streams to a file, sending Q-to-C traces + on a per-IO bases. + + The additional robustness comes at some expense (performance), and + so I will look into that next. (Perhaps see what those Judy trees buy + us... :-) ) + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 4a5cddba3b29a5356f883563b4909a0ee5a699ea +Author: Jens Axboe +Date: Fri Dec 1 10:49:19 2006 +0100 + + [PATCH] BTT patch: (1/3) 'iostat' totals + + Added in totals for IOSTAT output (per snapshot and overall totals) + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 4c446dc0e8cb964d8a191b475ca3015b818dd33e +Author: Olaf Kirch +Date: Fri Dec 1 10:36:12 2006 +0100 + + [PATCH] blkparse: fix -f format override + + Signed-off-by: Jens Axboe + +commit 7bd4fd0a4fca645bb50a641afac1e460a4e32dfd +Author: Olaf Kirch +Date: Fri Dec 1 10:34:11 2006 +0100 + + [PATCH] Add timestamp support + + Signed-off-by: Jens Axboe + +commit b22050b50f412c4c6567eebbcd2f3364e74908d9 +Author: Alan D. Brunelle +Date: Mon Nov 13 14:53:37 2006 +0100 + + [PATCH] btt: handle cases where we remap to a device which has no IO's (yet) in the trace. + + Fix remaps when referred to device has not been added. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 8091de936d9c64d6da1c7dccb031e8e6296e2205 +Author: Alan D. Brunelle +Date: Mon Nov 13 14:52:53 2006 +0100 + + [PATCH] blkparse: A couple of fixes: correct time output & flush files. + + Signed-off-by: Jens Axboe + +commit cfa8ef19ab702e05797173f9255fd188e8581a94 +Author: Alan D. Brunelle +Date: Mon Nov 13 14:52:03 2006 +0100 + + [PATCH] Update doc/blktrace.tex to reflex blkparse updates. + + Signed-off-by: Jens Axboe + +commit 70317a16ae0c6b8f6972972f908fd167b2151846 +Author: Alan D. Brunelle +Date: Mon Nov 13 14:51:35 2006 +0100 + + [PATCH] blkparse: Converted do_file() to use a merge sort instead of RB trees. + + Signed-off-by: Jens Axboe + +commit 346d8a74d012a0c0ec0264bede7a7a401df1da14 +Author: Alan D. Brunelle +Date: Mon Nov 13 14:50:30 2006 +0100 + + [PATCH] blkparse: Make binary dumps buffered (reduces system calls). + + Signed-off-by: Jens Axboe + +commit 234db09d1aa776f92738bb8d20771d945039b348 +Author: Alan D. Brunelle +Date: Mon Nov 13 14:49:48 2006 +0100 + + [PATCH] blkparse Added --no-text-output (-O) + + Removes textual output, useful for bin only. + + Signed-off-by: Jens Axboe + +commit ec685dd2e5c6030493e4fc4ae23619227e93129c +Author: Jens Axboe +Date: Mon Oct 30 10:42:47 2006 +0100 + + [PATCH] Ignore -o (output_name) when in server mode + + Reported by ehrhardt@de.ibm.com. + + It doesn't make a lot of sense to allow directories inside the session + private directory, and we currently do not handle multiple directories + inside the generated dir. So just ignore that option and inform the user. + + Signed-off-by: Jens Axboe + +commit c76adfc177a182b72c430ce36bab3f9a21fe1616 +Author: Jens Axboe +Date: Mon Oct 30 10:38:34 2006 +0100 + + [PATCH] Default debugfs path to /sys/kernel/debug + + This seems to be where distros put it. + + Signed-off-by: Jens Axboe + +commit 69d5a9157db1089a0c7c724b9217403b674dc880 +Author: Jens Axboe +Date: Tue Oct 3 14:51:26 2006 +0200 + + [PATCH] Add btt/btt to .gitignore + + Signed-off-by: Jens Axboe + +commit 6eb42155679cfa6fcd03d23199c5ba0a233b53e7 +Author: Alan David Brunelle +Date: Tue Oct 3 14:44:18 2006 +0200 + + [PATCH] Convert to using on-the-fly RB trees, no post-traversal. + + From: Alan D. Brunelle + + - Converted to using RB trees as much as possible - significant speed + up in general. + + - Changed from constructing IO bushes to just doing things inline as we + get the traces. Significant speed up and reduction in complexity. + Lost ability to absolutely handle REQUEUE traces (may put out the wrong + min/max information for certain stats). + + - Added btt/dip_rb.c + - Removed btt/traverse.c btt/iofree.c btt/cylist.c + - Fixed message concerning stats & range data to include '.dat' + - Added in timing statistics (K traces per second handled) + - Changed verbose to just update once per second + - Added notions of "foreach" iterators for devices, processes, IO traces, ... + - Removed a lot of redundant code in output (using iterators instead) + - If not interested in seek information, don't calculate a lot of stuff - + again, significant speed up. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit d216e9ce50602b7a7f99e1196e42d52d00f1b4f5 +Author: Alan David Brunelle +Date: Tue Oct 3 14:42:14 2006 +0200 + + [PATCH] btt: Fixed %utilization computation: idle not being computed right. + + Need to adjust last time device was looked at to include sparse times + when we don't have many IOs coming in. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit b2ecdd0fc9f93e7a2bea09dcd7b2c472eb4e0d94 +Author: Alan David Brunelle +Date: Thu Sep 21 09:17:43 2006 +0200 + + [PATCH] Added in Q2C and D2C latency output option. + + Also: cleaned up empty seek and latency files on exit. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 80c27cbe67449fb2e4bdb682002d87f2f0c07e72 +Author: Alan David Brunelle +Date: Thu Sep 21 09:17:02 2006 +0200 + + [PATCH] Cleaned up old LVM/MD references, cleaned up btt/README. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 21e47d90eb3160c797a9d5ef5032cd371eacedc5 +Author: Alan David Brunelle +Date: Thu Sep 21 09:16:27 2006 +0200 + + [PATCH] Added iostat-style statistics to btt + + Added iostat-style statistics: rrqm/s, wrqm/s, r/s, w/s, rsec/s, wsec/s, + rkB/s, wkB/s, avgrq-sz, avgqu-sz, await, svctm, %util. + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 6119854cc2acfdd1a545fa028f86e3e4b6c040dc +Author: Alan David Brunelle +Date: Thu Sep 21 09:15:41 2006 +0200 + + [PATCH] Added '-' and '_' in dev IDs in devmap file; output dev name, not numbers + + Signed-off-by: Alan D. Brunelle + Signed-off-by: Jens Axboe + +commit 165e0a18ea7449be53a28b4b2907cc2071486e8d +Author: Alan D. Brunelle +Date: Fri Sep 15 02:02:08 2006 +0200 + + [PATCH] btt: seek statistics fix + + Fixed problem with seek statistics when disk has no data. + + Signed-off-by: Jens Axboe + +commit fb72d4bc53d9122ad3ad81aef2d8c3f5d8a98ce2 +Author: Alan D. Brunelle +Date: Fri Sep 15 02:00:54 2006 +0200 + + [PATCH] btt: Fix invalid q2a + + Fix for invalid q2a's under certain circumstances: need to clear out + timeline information as we pop back up stack. + + Signed-off-by: Jens Axboe + +commit 97d13fb0f2a680668a79e64b7c71f93bd2664b0d +Author: Alan D. Brunelle +Date: Fri Sep 15 01:57:24 2006 +0200 + + [PATCH] btt: Cleaned up patches for SEEK additions, DM, Q2A and seek fixes + + Added changes to handle DM devices: + + - Used __pad field in struct blk_io_trace_remap to store from device, + contains partition device information. Required modification in + blkparse_fmt.c:process_default() to handle this change. + + - To better handle DM devices, noted that REMAP traces can refer to other + REMAP traces, and thus added A_A and A_Q types (much like Q_A and Q_X) + types. + + Signed-off-by: Jens Axboe + +commit 5225e7882fcf560afe419c49e03d6fd1ead60eb1 +Author: Alan D. Brunelle +Date: Fri Sep 15 01:53:19 2006 +0200 + + [PATCH] btt: seek additions + + Added seek analysis to btt: + + ==================== Device Seek Information ==================== + + DEV | NSEEKS MEAN MEDIAN | MODE + ---------- | --------------- --------------- --------------- | --------------- + ( 8, 16) | 15573 10297802.6 0 | 0(10710) + + Shows the: + - Device (major, minor) + + - Number of seeks (IOs issued to driver) + + - Average (mean) of sector differences IO-to-IO + + - Median seek (sector difference) + + - Mode(s) - showing the mode and the number of times it occurred, thus in + this example we see 68.8% of the "seeks" were contiguous (or overlapping). + + Also added in the ability to dump all read and write seek values: + + [ -s | --seeks= ] + + Will create files with the name: + + seek__[rw].dat + + like: + + seek_008,016_r.dat + seek_008,016_w.dat + + Which contain relative sector offsets for reads and writes respectively. + + Signed-off-by: Jens Axboe + +commit b8801569f7d26e8bb730a47d2e4dd89c1457bcad +Author: Jens Axboe +Date: Thu Sep 7 18:36:04 2006 +0200 + + [PATCH] Added store_barrier() for S390 + + Signed-off-by: Jan Blunck + +commit 584961e486d9fbf1d11c673cb1635cd85816590f +Author: Jan Blunck +Date: Thu Sep 7 18:35:17 2006 +0200 + + [PATCH] Fixed the Makefile in btt/ + + Signed-off-by: Jan Blunck + +commit aa994ec52b9ab09c445504cb39c12042cecf2d37 +Author: Martin Peschke +Date: Wed Sep 6 16:54:45 2006 +0200 + + [PATCH] bug in btt/output.c + + This patch fixes a copy'n paste bug. + +commit 9f11c1a7906eb99eb90ff8a182cf7ca190cd8cbb +Author: Alan David Brunelle +Date: Wed Sep 6 15:55:28 2006 +0200 + + [PATCH] BTT: Improve correctness of average block size merged + + Made merge average block size predicated by IOs issued. + +commit 46e37c559d34896d51f06ab668458642e30c4c4e +Author: Jens Axboe +Date: Tue Sep 5 10:47:37 2006 +0200 + + [PATCH] email update + +commit f8d501e119a3e3c782e078fec61fd808854b240d +Author: Alan David Brunelle +Date: Fri Sep 1 09:26:30 2006 +0200 + + [PATCH] Ignore PC packets in btt + + BTT isn't really meant to trace those, and is causing problems with some + seek additions to btt I'm working on. + +commit e33da1d51a823921d769125320b977a967be4030 +Author: Jens Axboe +Date: Mon Aug 7 12:25:08 2006 +0200 + + [PATCH] Fixup relayfs references and kill kernel patch + + 2.6.17 has shipped and has support for blktrace, so no need to + carry around the older 2.6.16 patch anymore. + +commit 711e4d252464a658aeca93593a985383eeeb8b7f +Author: Jens Axboe +Date: Sun Jul 23 02:13:20 2006 +0200 + + [PATCH] Support for logging metadata IO requests + +commit f86990edd23e465f8a865c34d308f888b8e6ee2d +Author: Nathan Scott +Date: Thu Jul 6 10:04:23 2006 +0200 + + [PATCH] Support for readahead tracing + + These are the userspace changes to allow blktrace to distinguish + readahead from non-readahead reads. + +commit 871ef6d09b45f1e60d52abc2c0ede07ae47796a1 +Author: Jens Axboe +Date: Wed Jul 5 13:03:13 2006 +0200 + + [PATCH] Fixup git web reference + +commit e71e4b780508e492cec4eb997390ab532170a3b3 +Author: Jens Axboe +Date: Fri May 26 01:23:56 2006 +0200 + + [PATCH] btt: finalize the INLINE fixup + +commit d487b4ad0b7c823d2410cdb50c08b5fa980ab7d1 +Author: Jens Axboe +Date: Fri May 26 01:19:50 2006 +0200 + + [PATCH] btt: Kill DO_INLINE and add -g + +commit 63eba14776dbafe34ebc4aade8f66456825d7514 +Author: Jens Axboe +Date: Fri May 26 01:16:17 2006 +0200 + + [PATCH] Add Alan's btt tool + +commit e94cf8d72bbc19141b644fc56d010c3b88f6f7da +Author: Tomasz Torcz +Date: Wed May 17 15:13:02 2006 +0200 + + [PATCH] docs updates: relayfs->debugfs + + documentation still mentions relayfs, but I believe debugfs is correct. + Small fix attached. + +commit 38e1f0c68bb7a808d889e639530c69830d110f75 +Author: Alex Polvi +Date: Mon May 8 07:15:50 2006 +0200 + + [PATCH] blktrace.c should ignore SIGPIPE + + 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. + +commit 1452478f2d1b27916c7cba6e3976ed2129533c73 +Author: Jens Axboe +Date: Mon May 8 07:13:39 2006 +0200 + + [PATCH] fread/fwrite error handling + + Need to check ferror(), not return value. Thanks to Alex Polvi. + +commit 6a6d3f0f61a8325b4d986e25bb0a61a82ca79e57 +Author: Tom Zanussi +Date: Tue Mar 28 08:15:22 2006 +0200 + + [PATCH] blktrace: fix sendfile problem with > buf_size xmits + + Basically, it add buf_size, buf_nr and page_size to the net header and + this info is put into each tip, for easy access in mmap_subbuf(). The + global buf_size, etc is still used by clients, since the global value is + all they need (for clients, the tip is filled in with the global values + anyway, so that mmap_subbuf() can use them, maybe the tip->buf_size + should be used everywhere instead for consistency and only use the + global values for initial args. Also, each tip doesn't really need to + have these values, they could be stored in tip->device but I thought it + would be easier and quicker to access tip->buf_size rather than + tip->device->buf_size). Actually, this data only needs to be sent once + per trace, but since there's no header covering the entire trace, sends + it each time. Could be an optimization to make later... + + I've tested it using sendfile over the network with different buffer + sizes, and with normal non-sendfile network and non-network tracing + straight to disk, and haven't seen any problems. Each test generated a + little over 1Gb of trace data in a little under 2 minutes, just under 23 + million events after parsing, so it looks to me like it's doing the job + at this point... + +commit 67c0cf46ee7055e8681968de25db9d3a9d452cb0 +Author: Jens Axboe +Date: Fri Mar 24 11:16:46 2006 +0100 + + [PATCH] Remove sysfs bits from kernel patch to match 2.6.16+ + +commit e91ed1d35aa9eb19d19e5cf15b35ca0fba3af2a2 +Author: Jens Axboe +Date: Fri Mar 24 11:15:03 2006 +0100 + + [PATCH] Rename kernel patch to 2.6.16 proper. + +commit c8255c5a4f93740f26a760728ad4aa4f41261ba3 +Author: Jens Axboe +Date: Fri Mar 24 11:14:37 2006 +0100 + + [PATCH] Update references to kernel patch and its inclusion in mainline + +commit e9f883ca480064f5a7c18b4a9145b6afb1da6de2 +Author: Alan D. Brunelle +Date: Fri Mar 24 11:06:59 2006 +0100 + + [PATCH: Change remap format to have mapped-to information on the left of the -> + + Pretty self-explanatory, works fine for MD devices. Looking into DM + devices next (I think that _may_ take a kernel change). + +commit 2f0647932059d868904c7f21e87c3ddaae404531 +Author: Jens Axboe +Date: Thu Mar 16 09:32:55 2006 +0100 + + [PATCH] blktrace: fix get_subbuf() leak + +commit 2689be58c1d2633b84751d8e482c368cd1458e21 +Author: Jens Axboe +Date: Thu Mar 16 09:28:56 2006 +0100 + + [PATCH] blktrace: sendfile() poll can use -1 timeout with the flush change + +commit 506cdb6d96b18c261cce16802d92efa36916dd34 +Author: Jens Axboe +Date: Wed Mar 15 13:57:41 2006 +0100 + + [PATCH] blktrace: only print one connection info per client + +commit 2aa193ce4ba2a9c36593514cd3f6a78d68272faa +Author: Jens Axboe +Date: Wed Mar 15 13:33:36 2006 +0100 + + [PATCH] kernel: remember to flush relay channel on trace stop + +commit 4aeec019b66acbcedfb14fe97ab24e4e09865dd5 +Author: Jens Axboe +Date: Wed Mar 15 13:29:26 2006 +0100 + + [PATCH] blktrace: fixes for the new net client sendfile + +commit f3292d5c853cc9930811a6f774e722523e0d412f +Author: Jens Axboe +Date: Wed Mar 15 11:06:11 2006 +0100 + + [PATCH] kernel: drop POLLMSG hack again + +commit 232d6466b4d488661c4e713595e4f6ee7b539ecf +Author: Jens Axboe +Date: Wed Mar 15 09:04:53 2006 +0100 + + [PATCH] kernel: update to -rc6 + +commit d042efdfe7697e5a4e38b012f4580af3760653d9 +Author: Jens Axboe +Date: Tue Mar 14 14:15:33 2006 +0100 + + [PATCH] blktrace: remember to check flush_subbuf() return value + + Also label 'maxlen' as unused instead of using casting tricks. + +commit ff11d54c003b568a6ab94f4aa499f4ede0d549f1 +Author: Tom Zanussi +Date: Tue Mar 14 09:02:07 2006 +0100 + + [PATCH] blktrace: per-cpu net connections + + We can get reliable poll() without POLLMSG tricks, if we open a + net connection per CPU. + +commit dd870ef6bac0cd5eb9ef1fe199e0670b006a940b +Author: Alan D. Brunelle +Date: Thu Mar 2 12:46:41 2006 +0100 + + [PATCH] blktrace: handle case where output directory is not set + +commit c135da93c5e0e0829234ba2070f6612260ca82c2 +Author: Jens Axboe +Date: Mon Feb 27 16:37:08 2006 +0100 + + [PATCH] kernel: update kernel patch to include Toms read/sendfile consolidation + +commit 79971f4310bc3dba0d1cc680f692e7f0128e761d +Author: Jens Axboe +Date: Mon Feb 27 12:15:49 2006 +0100 + + [PATCH] blktrace: make sendfile usage the default + +commit 62a268bd01cb37fd7c08f68f81b704ccccb05717 +Author: Jens Axboe +Date: Mon Feb 27 12:01:47 2006 +0100 + + [PATCH] kernel: -rc5 update + +commit a2594911b74688e3b971526bbcad9e07db0c917c +Author: Alan D. Brunelle +Date: Mon Feb 27 08:10:32 2006 +0100 + + [PATCH] blkprase: binary dump capability + notify added + + 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 + ' 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.] + +commit b2ecb3804b464b36e158f517d9a13abb0f1db9c6 +Author: Jens Axboe +Date: Mon Feb 27 08:06:17 2006 +0100 + + [PATCH] kernel: relay files are now in debugfs + +commit 3d06efea104b3f3999ce3a5b20b19126106b88f4 +Author: Jens Axboe +Date: Mon Feb 27 08:05:22 2006 +0100 + + [PATCH] blktrace: relay files are now in debugfs + +commit a3225fed88b248d2b84d773ad0290c7d1da5e92d +Author: Jens Axboe +Date: Thu Feb 23 15:16:18 2006 +0100 + + [PATCH] Mark as 0.99.1 + +commit ce0206765a13934c8aaeb0c4d360be80bd888b99 +Author: Jens Axboe +Date: Thu Feb 23 15:14:29 2006 +0100 + + [PATCH] blktrace: add __for_each_foo() for nc's, and fix crash on bad realloc + +commit c196b5f2f8ee6d7d0e15683a25a788e9737d6152 +Author: Jens Axboe +Date: Thu Feb 23 14:51:17 2006 +0100 + + [PATCH] blktrace: fix possible crash on exit without ever opening an ofile + +commit e0a1988b94de5bee7f0b7d8084694f451a6339ee +Author: Jens Axboe +Date: Thu Feb 23 13:29:06 2006 +0100 + + [PATCH] blktrace: support multiple network connections + +commit 97159c021d81078fed5c298179c126175805f38d +Author: Jens Axboe +Date: Thu Feb 23 11:49:38 2006 +0100 + + [PATCH] blktrace: make sure net traces for multiple devices end up in same dir + +commit 7ab2f837a01ef11ab624fed5e27261cf6e913f6f +Author: Jens Axboe +Date: Thu Feb 23 10:53:25 2006 +0100 + + [PATCH] blktrace: make net server dropped count be per-device + + Require client to send a close event for each device. + +commit b9c60a202de4db0cae390f5a40860d7d827ae10c +Author: Jens Axboe +Date: Thu Feb 23 10:46:00 2006 +0100 + + [PATCH] kernel: update relayfs to set POLLMSG on subbuffer switch + +commit 7934e6680d1c07eb8e65ea086ea1099ac692136f +Author: Jens Axboe +Date: Thu Feb 23 10:43:56 2006 +0100 + + [PATCH] blktrace: reduce context switches a lot, event count fix, etc + + Transmit dropped events over the net as well, so the other end know if + we lost events. Use POLLMSG from relayfs to indicate subbuf switch. + +commit c5334e1b5860585e12aa86c98d1e471f0ee1fb3e +Author: Jens Axboe +Date: Thu Feb 23 08:56:20 2006 +0100 + + [PATCH] kernel: update to latest patch + +commit bcbeb60f9ecff9ed9e8556d71090a541397eb7c9 +Author: Tom Zanussi +Date: Thu Feb 23 08:46:32 2006 +0100 + + [PATCH] blktrace: remove padding logic, it's not needed with the new sendfile() + +commit 659bcc3f45c77a466d693499399a915099216eec +Author: Jens Axboe +Date: Wed Feb 22 21:57:00 2006 +0100 + + [PATCH] blktrace: get rid of signal hacks in accepting new connections + +commit 05831aca666fabcc3464129c1e334bfecf0ceb5f +Author: Jens Axboe +Date: Wed Feb 22 20:12:21 2006 +0100 + + [PATCH] README and blkrawverify minor update + + Don't create an output file if the input argument is bogus or fails + +commit e076d33bfa9a5ef334e8db6e143c624d15a7c30f +Author: Jens Axboe +Date: Wed Feb 22 13:23:30 2006 +0100 + + [PATCH] blktrace: no need to track ts->offset anymore + +commit acc0ff42ae8cda75191cc4cb1d58d2baddf49ee1 +Author: Jens Axboe +Date: Wed Feb 22 13:11:29 2006 +0100 + + [PATCH] kernel: update to fix padding read + +commit 116293475923ede05e0a6c213f6cfc324846ea9e +Author: Jens Axboe +Date: Wed Feb 22 13:12:32 2006 +0100 + + [PATCH] blktrace: serialize sendfile sendout, then we can use poll reliably + +commit 3ef0de89bec1ed77fb6d3266b6745b509e33cc79 +Author: Jens Axboe +Date: Tue Feb 21 16:37:20 2006 +0100 + + [PATCH] kernel: last minute typo in kernel commit... + +commit 75c1fdcc76cbccb4a32d8f7ecc6ae819ba7017cd +Author: Jens Axboe +Date: Tue Feb 21 16:35:32 2006 +0100 + + [PATCH] kernel: redo the relayfs ->sendfile implementation + +commit 42e96d8a6f2a5bf06c071189308142af77582790 +Author: Jens Axboe +Date: Tue Feb 21 15:36:05 2006 +0100 + + [PATCH] blktrace: is_done() typo... + +commit 36808255414e109cd209bfc88699771aff13048d +Author: Jens Axboe +Date: Tue Feb 21 15:29:01 2006 +0100 + + [PATCH] blktrace: missed net_sendfile argument update + +commit f6fead259103956824803abe5121bbc77a0d602b +Author: Jens Axboe +Date: Tue Feb 21 15:32:12 2006 +0100 + + [PATCH] blktrace: sendfile() improvements + +commit 227f89ffd4da431cd05f9b54ea7882c70b63f3dd +Author: Jens Axboe +Date: Tue Feb 21 15:24:40 2006 +0100 + + [PATCH] blktrace: valid magic in received header always + +commit 921b05fed251b6352a07635aa91e7fbad7f5b7f9 +Author: Jens Axboe +Date: Tue Feb 21 13:21:34 2006 +0100 + + [PATCH] blktrace: only do ioctl stop on local trace + +commit 0c0b75b4bbb87987242204d71fe1f30e779aa423 +Author: Jens Axboe +Date: Mon Feb 20 13:41:37 2006 +0100 + + [PATCH] blktrace: tip_open_output() cleanup + +commit e3bf54d8d29efa83f6802b689627aff265e160f5 +Author: Jens Axboe +Date: Mon Feb 20 13:34:05 2006 +0100 + + [PATCH] blktrace: store server output in client-date directory + + Otherwise it's hard to do multiple traces without overwriting data. + +commit 7035d92ddbcbfe121c08f409b75a37a02443ff51 +Author: Jens Axboe +Date: Mon Feb 20 11:59:49 2006 +0100 + + [PATCH] blktrace: stop trace on SIGINT to allow drain + +commit 1366e53a12ed21f10c11aef72ef5efe49c10a89a +Author: Jens Axboe +Date: Mon Feb 20 11:17:39 2006 +0100 + + [PATCH] blktrace: ->fd and ->pfd init in net client mode + +commit 112a166e3545d9f1d9b718a00cc33422f7c3b246 +Author: Jens Axboe +Date: Mon Feb 20 11:12:11 2006 +0100 + + [PATCH] blktrace: final (hopefully) data read stat updates + +commit dbfbd6db54bafab784e9019169671d4361c27e2e +Author: Jens Axboe +Date: Mon Feb 20 11:06:18 2006 +0100 + + [PATCH] blktrace: net server stat fixes + +commit 663962f7f02e893347220dbe6527c493d0bbca60 +Author: Jens Axboe +Date: Mon Feb 20 10:19:30 2006 +0100 + + [PATCH] blktrace: bad ->data_read increment, and poll() delay fix for sendfile() + +commit 18eed2a721adb13ab374700d7ded3cfb26ed73c6 +Author: Jens Axboe +Date: Mon Feb 20 09:56:56 2006 +0100 + + [PATCH] blktrace: use send() for last data on quit in sendfile() path + + We need to do that, as we can only use full subbufs in the sendfile() path. + +commit 1be42f3d3db5576ab892c769cadf488d3562017c +Author: Jens Axboe +Date: Mon Feb 20 09:30:53 2006 +0100 + + [PATCH] blktrace: be a little more conservative on 'ready' subbuf bytes + +commit 4b802b3170cf3948fe21510ee405c8af0da38165 +Author: Jens Axboe +Date: Mon Feb 20 09:19:29 2006 +0100 + + [PATCH] kernel: update to -rc4, include changes for sendfile() support + +commit 11eedd9bd54b82b860c9825e0d6d9a1c1f32ffb8 +Author: Jens Axboe +Date: Mon Feb 20 09:18:36 2006 +0100 + + [PATCH] blktrace: improve sendfile support (requires kernel change) + +commit 380f17748cc395071079c6b13ad9857007efc6fe +Merge: ddf2284 d3a2c8a +Author: Jens Axboe +Date: Thu Feb 16 20:07:11 2006 +0100 + + Merge branch 'master' of ssh://axboe@router.home.kernel.dk/data/git/blktrace + +commit ddf2284295cd4ee05d01dd3157b6f7c6ba20292c +Author: Jens Axboe +Date: Thu Feb 16 20:07:00 2006 +0100 + + [PATCH] blktrace: don't truncate/open local files when in net client mode + +commit d3a2c8aa133817ed63c49e32869a44660c30fc3e +Author: Jens Axboe +Date: Wed Feb 15 14:04:07 2006 +0100 + + [PATCH] blktrace: bad alloc in sendfile() handler + +commit c207e39393ddb803fa6e495daf6460c1bc49aa57 +Author: Jens Axboe +Date: Wed Feb 15 10:37:41 2006 +0100 + + [PATCH] kernel: update to -rc3 (has little fixes/optimizations, too) + +commit b46a03422222e58a1574d15a6892a11175313deb +Author: Jens Axboe +Date: Wed Feb 15 10:32:20 2006 +0100 + + [PATCH] blktrace: don't leak the accepted socket fd on reconnect + +commit 18d8437d6b0e2bcd437f8eccfac06654c78361ec +Author: Jens Axboe +Date: Wed Feb 15 10:26:23 2006 +0100 + + [PATCH] blktrace: one more round up of data transfer + +commit 54824c20971051de0486d4e5e97d3ef20934af82 +Author: Jens Axboe +Date: Wed Feb 15 10:25:28 2006 +0100 + + [PATCH] blktrace: round up data read to nearest kb + +commit e85ee0f2b7a65ee8354a3dbbfd8820aa558e49d1 +Author: Jens Axboe +Date: Wed Feb 15 10:17:39 2006 +0100 + + [PATCH] blktrace: show incoming connection + +commit bbb1c18a1b0cc12701b67ccc18ced62d1c4a788e +Author: Jens Axboe +Date: Wed Feb 15 10:14:57 2006 +0100 + + [PATCH] blktrace: allow quit when waiting for repeat connection + +commit 898bbd3b03540f9276487a4e25480f255e727126 +Author: Jens Axboe +Date: Wed Feb 15 10:07:45 2006 +0100 + + [PATCH] blktrace: proper end-of-run cleanup for restart + +commit 976dd5c306066a3576ad886d0c4f8933b0ccc062 +Author: Jens Axboe +Date: Wed Feb 15 10:01:29 2006 +0100 + + [PATCH] blktrace: fill ops in net tip as well + +commit 6a752c90cc10d192f7c22af00689f0ec2f9785e6 +Author: Jens Axboe +Date: Wed Feb 15 09:58:23 2006 +0100 + + [PATCH] blktrace: allow client/server to signal end-of-run properly + +commit f531b94dbe7948e479a6cfa838cda9fb3c321f0c +Author: Jens Axboe +Date: Wed Feb 15 09:33:45 2006 +0100 + + [PATCH] blktrace/README: update to include description of new net parameters + +commit b444507cc5cfae28347b45ea73a2e8bb4845f760 +Author: Jens Axboe +Date: Wed Feb 15 09:26:08 2006 +0100 + + [PATCH] verify_blkparse: -W warning + +commit 32f18c488b531a7bcd4ccab0db3cc9799964a481 +Author: Jens Axboe +Date: Wed Feb 15 09:22:30 2006 +0100 + + [PATCH] blktrace: add -s sendfile option (doesn't work right now) + +commit 0cc7d25edc4aeb57e52e0115f87948202251813c +Author: Jens Axboe +Date: Wed Feb 15 09:03:55 2006 +0100 + + [PATCH] blktrace: add ->ops for the read/get/flush methods + +commit 410d7c623c962833282bc97d5fc140b7539788b4 +Author: Jens Axboe +Date: Tue Feb 14 14:52:28 2006 +0100 + + [PATCH] blktrace: various net related fixes (accounting, stats, etc) + +commit f0597a7eeb83ae4f2750373a949ffc778b88c80c +Author: Jens Axboe +Date: Tue Feb 14 14:05:59 2006 +0100 + + [PATCH] blktrace: need to free ts->buf for networked transfer + +commit 22cd0c0225f4ee589c4427113cf8eff360a8957f +Author: Jens Axboe +Date: Tue Feb 14 14:04:58 2006 +0100 + + [PATCH] blktrace: fix network support, don't use sendfile() yet + + We need relayfs changed for that to work (which I only have half-done) + +commit 8e86c98a76fc3796d0ef0ac7d749475aa1e0ad02 +Author: Jens Axboe +Date: Tue Feb 14 10:51:39 2006 +0100 + + [PATCH] blktrace: first cut at adding network support + +commit 4ff24a34c39259181e52edee36106b81759d647d +Author: Jens Axboe +Date: Tue Feb 14 10:22:42 2006 +0100 + + [PATCH] blkrawverify: check and convert data appropriately + +commit e5413c3cea0ced8c967255f9bf69ca4fe80f3fc2 +Author: Jens Axboe +Date: Tue Feb 14 10:20:22 2006 +0100 + + [PATCH] check_data_endianess left in half-done state + +commit 9e4cd1b80b79a96f634b5d749e3a29aa0f4c1abe +Author: Jens Axboe +Date: Mon Feb 13 15:53:38 2006 +0100 + + [PATCH] blkparse: __u32 -> pid_t + +commit 57c9f4e8433fbc99c4dac6b25864ad0fbe45feb1 +Author: Jens Axboe +Date: Thu Feb 9 17:08:35 2006 +0100 + + [PATCH] kernel patch update again + +commit 248eac8f98dd5ef87b5f623b4c93cb5bde1143ea +Author: Jens Axboe +Date: Thu Feb 9 16:09:06 2006 +0100 + + [PATCH] blkparse: ignore multiple process pid <-> name notifications + + This can happen if you are doing multiple traces at the same time, then + you would get a notification after a new trace has been set up. + +commit 2990e589cf82e927f05f4bcd58851078b4754659 +Author: Jens Axboe +Date: Thu Feb 9 15:07:33 2006 +0100 + + [PATCH] blkparse: start unification of ppi and ppm + +commit 2def0d9826dc830999a13050406b975819e7b1a5 +Author: Jens Axboe +Date: Thu Feb 9 14:19:20 2006 +0100 + + [PATCH] kernel: update to work with latest Linus -git tree + +commit 62fb68f5f79c7ebfdc47649d4b97ef7a7982ccc3 +Author: Jens Axboe +Date: Thu Feb 9 14:01:12 2006 +0100 + + [PATCH] kernel: update patch to match ->comm changes in blkparse + +commit bfc70ad577ae97011eed84b86b3c6ba01e23e80a +Author: Jens Axboe +Date: Thu Feb 9 13:58:34 2006 +0100 + + [PATCH] Shrink the trace by 1/3 by removing ->comm[16] + + We now send notify messages out when we see a new process, so we don't + need to repeatedly send the same 16 bytes of name info everytime. + +commit 5975d309ac40b9724f70b46bbfa3747e8dc24ea5 +Author: Jens Axboe +Date: Thu Feb 9 08:34:51 2006 +0100 + + [PATCH] Pin the mmap'ed output buffers in ram + +commit 43ec3d6acbe433723f553d8898821bb3a2666d2e +Author: Jens Axboe +Date: Wed Feb 8 15:52:45 2006 +0100 + + [PATCH] kernel: update to include the locking/md+dm fix + +commit 753f9091a2794d46819331ddfb8c86ff58e4a467 +Author: Jens Axboe +Date: Wed Feb 8 15:21:18 2006 +0100 + + [PATCH] blkparse: allow tracking of Queue -> Complete time for md/dm + + For remapper devices, we want to track the Queue -> Complete cycle, + as that is all we have the option of doing there. + +commit 19a67de341ca90bea2aa3e7da276ceb3977380e1 +Author: Jens Axboe +Date: Wed Feb 8 15:19:52 2006 +0100 + + [PATCH] btrace: allow -v option for blkparse -v + +commit e62a64706b9c7fb801f0a28ba586f75b89e11d6c +Author: Jens Axboe +Date: Wed Feb 8 11:36:30 2006 +0100 + + [PATCH] kernel: update to latest + +commit ed71a31e1d2de558800f0fbd7091ea0cac4f76e1 +Author: Jens Axboe +Date: Wed Feb 8 11:25:46 2006 +0100 + + [PATCH] blktrace: use the new setup/start/stop/teardown ioctls + +commit ea0018ad42fc8805bd2c95696a9c70b7ef331edd +Author: Jens Axboe +Date: Tue Feb 7 16:59:21 2006 +0100 + + [PATCH] blktrace: remove unused defines + +commit b71063118f6dc116a6e23a7586fb18bd0e235017 +Author: Jens Axboe +Date: Tue Feb 7 14:25:47 2006 +0100 + + [PATCH] blktrace: remove one user -> kernel copy by mmap'ing output buffers + +commit 4ba99bfccc5ced4b57254d8df8edd616a6a923c0 +Author: Jens Axboe +Date: Tue Feb 7 14:23:54 2006 +0100 + + [PATCH] blkrawverify: account bad traces, don't dump a warning for each of them + +commit 86368eb510bcc9b918eb870c90d5eb4271083267 +Author: Jens Axboe +Date: Tue Feb 7 09:05:33 2006 +0100 + + [PATCH] data_is_native can't be both static and extern + +commit 07d0d5e3e9fbaecec1a5db4606741fe6bb22b811 +Author: Jens Axboe +Date: Mon Feb 6 13:02:45 2006 +0100 + + [PATCH] Remove native/non-native print + +commit 017d166066b6c8afe22b75f6dc5e91bfa8f9c67a +Author: Jens Axboe +Date: Mon Feb 6 12:06:44 2006 +0100 + + [PATCH] Allow trace data to stay CPU endianness + + Basically just check whether we need to convert the trace or not + in blkparse, then we can get rid of the endianness conversion + in the hot path (blktrace:write_tip_events()). + +commit 2505038d06676b31df2f65e08009474335140834 +Merge: 21f5565 65f2deb +Author: Jens Axboe +Date: Fri Feb 3 14:58:46 2006 +0100 + + Merge branch 'master' of ssh://axboe@router/data/git/blktrace + +commit 21f556518d86641f91344e1509c811e1fae65003 +Author: Jens Axboe +Date: Fri Feb 3 14:57:47 2006 +0100 + + [PATCH] blktrace: Make the subbuf adding/removing lockless + +commit 65f2deb557a13728eb4662037609a0820b3fd1bf +Author: Jens Axboe +Date: Fri Feb 3 12:55:49 2006 +0100 + + [PATCH] blkparse: don't let ->cur_depth go below zero + + This can happen if we miss traces, so check for it. + +commit 158f0231bfab044bd34fb48bc7d00189b1e33261 +Author: Jens Axboe +Date: Thu Feb 2 21:42:00 2006 +0100 + + [PATCH] kernel: previous patch was reversed by mistake + +commit b9f751ef37465b097c80de4981f848d220338055 +Author: Jens Axboe +Date: Thu Feb 2 19:16:28 2006 +0100 + + [PATCH] blkrawverify: note what file the output went to + + I didn't actually realize this until I looked at the source... + +commit d04130832ccca445051eda86f9129a4eda2446be +Author: Jens Axboe +Date: Thu Feb 2 18:39:40 2006 +0100 + + [PATCH] kernel: update to recent fixes + +commit 4ab4280173d8ad828e5f1428ecc44c53479ad2fe +Author: Jens Axboe +Date: Thu Feb 2 13:50:09 2006 +0100 + + [PATCH] blkparse: do_stdin() needs to increment read_sequence too + +commit a43c1c17c979674a3f03a858fa42e1dfd4bba5ed +Author: Jens Axboe +Date: Thu Feb 2 13:47:51 2006 +0100 + + [PATCH] blkparse: Fix bad ordering due to non-global sequence + + We need to let events simmer in the queue for at least one iteration + of all devices, to prevent bad outputs if one CPU has late events. + +commit 6693017725e653359ec2b1862162c1c30655fe06 +Author: Jens Axboe +Date: Thu Feb 2 13:20:57 2006 +0100 + + [PATCH] blkparse: make skip detection per-CPU as well + +commit 212421d888f11106dc2b35eab4946e29fbce0b99 +Author: Jens Axboe +Date: Thu Feb 2 13:20:03 2006 +0100 + + [PATCH] verify_blkparse: improve output + +commit ced8a9bfde18818f157efd02d0bd8af9ac86d487 +Author: Jens Axboe +Date: Thu Feb 2 12:06:34 2006 +0100 + + [PATCH] verify_blkparse: update for per-CPU sequences + +commit 36652af405cfc21cfb22aca8e32cd9c3bf42cb67 +Author: Jens Axboe +Date: Thu Feb 2 12:00:14 2006 +0100 + + [PATCH] .gitignore: add blkrawverify + +commit 210824c332e30b543676a537ddd34d380bc9c69d +Author: Jens Axboe +Date: Thu Feb 2 11:56:56 2006 +0100 + + [PATCH] Make the sequence per-CPU so the kernel side can be lockless + +commit 89482da65bbe96da701e2c873e3eeb3016b4e651 +Author: Jens Axboe +Date: Thu Feb 2 11:16:05 2006 +0100 + + [PATCH] blktrace: remove check_time, we always need to check it + +commit 6480258ab0432d3a09ef884d4cc49e11f8c3ccee +Author: Jens Axboe +Date: Thu Feb 2 09:23:56 2006 +0100 + + [PATCH] blktrace: make write_data() return early with buflen == 0 + +commit 9cfa6c2bcbae0d5c5857d6917520afe77aebf2a5 +Author: Alan D. Brunelle +Date: Thu Feb 2 09:23:20 2006 +0100 + + [PATCH] blktrace: speedup write out by aggregating writes + +commit 74b9237944a560bbc20e705a15e092dcaac3d28a +Author: Alan D. Brunelle +Date: Thu Feb 2 09:16:58 2006 +0100 + + [PATCH] blktrace: remember to initialize mutex + +commit f83a0ff33ec942eb952f7483ddbd07d9f4a68ddb +Author: Jens Axboe +Date: Tue Jan 31 20:21:15 2006 +0100 + + [PATCH] kernel: update to include Alan's relay_reserve() method + +commit db7e0552967aed47a6310122869ee261cd3f9162 +Author: Jens Axboe +Date: Tue Jan 31 09:24:29 2006 +0100 + + [PATCH] blkparse: be sure to propagate read_data() error all the way back + +commit c0e0dbc2b9f2865832f937650a617477a350cb55 +Author: Jens Axboe +Date: Tue Jan 31 09:21:04 2006 +0100 + + [PATCH] blkparse: cut down on excessive number of fcntl() calls + + Cache the blocking state locally and only issue it if changed. + +commit 5c0f40f757e864e11e2844955776dedd14e4d3cd +Author: Jens Axboe +Date: Tue Jan 31 09:11:01 2006 +0100 + + [PATCH] blkparse: don't do partial reads in read_data() + + If we do a partial read, the trace may look ok because the magic is there, + but we will have lost it and the next read() will be confused. So only + return early if we read zero bytes and we must not block, otherwise wait + around for the remaining data. + +commit eea01dfc2e0eb1521dbbd481ab5a3e660e6cb588 +Author: Jens Axboe +Date: Mon Jan 30 21:35:31 2006 +0100 + + [PATCH] btrace: don't be quiet by default, and fix -h parameter + +commit 965eca2da26f61895871b9c1ef43600edf98858c +Author: Alan D. Brunelle +Date: Mon Jan 30 19:03:43 2006 +0100 + + [PATCH] blkparse: Remove negative skips + + The following patch does not insert skips that go backwards. I am not + sure why we do, but on occasion we find events that are behind where we + should be, and we don't have an entry in skipped ones - that would make + me thing it's a duplicate. But in any event, we should not be reporting + such things - they cause huge skip numbers by wrapping on an unsigned long. + +commit c44b85a116a0ecd8601cff2db641d6e8894acf31 +Author: Jens Axboe +Date: Mon Jan 30 14:37:04 2006 +0100 + + [PATCH] blkparse: don't let SIGINT show stats right away, we might not be done + +commit b4aabcb3cdf273988273667dcd7d7e42c81f1641 +Author: Jens Axboe +Date: Mon Jan 30 14:36:25 2006 +0100 + + [PATCH] blktrace: allow live tracing to get full subbuffers as well + + The poll() timeout will keep us reading smaller buffers, if the data + generation rate isn't high enough. + +commit 9e8b753cc696b08beaaa3218c2a59595d19ee6f2 +Author: Jens Axboe +Date: Mon Jan 30 14:31:01 2006 +0100 + + [PATCH] blktrace: fix leftover_ts offsetting + +commit 05e2c5594c7e5078abbdca1094e0fe6577ad4656 +Author: Jens Axboe +Date: Sat Jan 28 20:39:11 2006 +0100 + + [PATCH] blkrawverify: Check for EOF in error reporting + + A check of fread returning 0 is not sufficient towards determining an. + error - 0 also indicates EOF. Added check for that. + +commit 27223f197c1694066a489b1153a9127b7ba377b1 +Author: Jens Axboe +Date: Sat Jan 28 20:36:09 2006 +0100 + + [PATCH] blktrace: really fix the loop logic + +commit d7b524bdd7361435107991bbbd8ca89668e59f5f +Author: Jens Axboe +Date: Sat Jan 28 20:15:27 2006 +0100 + + [PATCH] blktrace: fix logic for write out loop when exiting + +commit c0cb7fabc87d26a8ec1a7a5d3b347e54b9ae65cc +Author: Jens Axboe +Date: Sat Jan 28 20:06:28 2006 +0100 + + [PATCH] blkrawverify: cast __u64 to unsigned long long for printing + +commit 79ee97049eba635757c474a66f133822f3edff78 +Author: Jens Axboe +Date: Fri Jan 27 19:42:30 2006 +0100 + + [PATCH] blktrace: fix hang and no output if first sequence is not expected + +commit 7de86b12eb7aafa7cddd370f4e777b813e7cd703 +Author: Alan D. Brunelle +Date: Fri Jan 27 17:12:35 2006 +0100 + + [PATCH] blktrace: cleanup the leftover subbuf code + +commit 5be4bdaf2c5a06261f0f36603190f67cc7164a7b +Author: Jens Axboe +Date: Fri Jan 27 16:26:25 2006 +0100 + + [PATCH] blktrace/blkrawverify: get rid of pesky signedness warnings + +commit 2f903295293f72f88639a3c0e97a3b028aa89415 +Author: Jens Axboe +Date: Fri Jan 27 14:47:15 2006 +0100 + + [PATCH] Need to still use outputname to check no_stdout + +commit 7ce7c56bafa2bd2cbdb634df4eadd4c2b4a2f131 +Author: Jens Axboe +Date: Fri Jan 27 14:41:59 2006 +0100 + + [PATCH] Forgot to add list.h + +commit 9db17354639022d75377c81811242d0cc10d87f9 +Author: Jens Axboe +Date: Fri Jan 27 14:39:35 2006 +0100 + + [PATCH] blktrace: completely rewrite the event pull/pushing loops + +commit 41824f0010e8c177ebfcd10d0ef889d4522bd04a +Author: Jens Axboe +Date: Fri Jan 27 10:35:47 2006 +0100 + + [PATCH] kernel: update kernel patch with the HT sibling time offset fix + +commit b1a3b0ed93c337ca0eb139260256489003c401f1 +Author: Jens Axboe +Date: Thu Jan 26 20:07:26 2006 +0100 + + [PATCH] blkrawverify: u64 types need %llu format + +commit f17c879dcf9c34d42cddfc5e9c4275fe08a90475 +Author: Alan D. Brunelle +Date: Thu Jan 26 16:03:12 2006 +0100 + + [PATCH] Added blkrawverify utility + +commit 7126171a8c687c5f455887939bdaa37436893d61 +Author: Jens Axboe +Date: Wed Jan 25 21:48:45 2006 -0800 + + [PATCH] blktrace: improve live tracing + +commit 74b2def6e39fbbbd20ef597be05b7b0cd12b64d3 +Author: Jens Axboe +Date: Wed Jan 25 18:59:38 2006 +0100 + + [PATCH] kernel: update patch for the SMP fix + +commit d416628af560913b42c69344cc675f24fb9fbff2 +Author: Jens Axboe +Date: Wed Jan 25 18:54:14 2006 +0100 + + [PATCH] blkparse: fill unitialized pci->cpus.fd with -1 + +commit 57e8a2ad93e3f27694b9ab0d9a56abd631e36562 +Author: Tom Zanussi +Date: Wed Jan 25 15:10:43 2006 +0100 + + [PATCH] blktrace: Don't overwrite buf_size for the vbuffer + + Here's another patch to fix a problem I noticed - the code that sets + the buffer size passed to setvbuf() uses the global buf_size variable + and thus unintentionally sets that variable, which is used elsewhere + later e.g. setting tip->fd_max_size in extract(). + +commit ac5b39c070396ff8b73363bded859055d2cc6250 +Merge: cb7b061 c9735e6 +Author: root +Date: Wed Jan 25 15:29:47 2006 -0800 + + Merge branch 'master' of ssh://axboe@router/data/git/blktrace + +commit cb7b061dee71a4a1987f22a356bdf8f69bebd000 +Author: Jens Axboe +Date: Wed Jan 25 15:27:28 2006 -0800 + + [PATCH] blkparse: make sure new pci infos have ->fd initialized to -1 + + This avoids hangs in blktrace when seeing potentially invalid samples, since + it will attempt to read from fd == 0 (stdin) in that case. + +commit 649c7b6641e4c0b23bb2e51d4aca126fae893653 +Author: Jens Axboe +Date: Wed Jan 25 15:05:58 2006 -0800 + + [PATCH] blkparse: add max read/write queueing depth stats + +commit c9735e6583d66f1d411b03719f32adf5310878aa +Author: Jens Axboe +Date: Wed Jan 25 14:51:06 2006 +0100 + + [PATCH] kernel: Update patch to include ISSUE fix + +commit b3ab182dacd2da79168ff6790f1a19e719208a2d +Merge: 0685312 ac740d9 +Author: Jens Axboe +Date: Tue Jan 24 19:08:14 2006 +0100 + + Merge branch 'master' of ssh://axboe@router.home.kernel.dk/data/git/blktrace + +commit 0685312fdd24afa24ebfa9746f65baa0797b56a1 +Author: Alan D. Brunelle +Date: Tue Jan 24 19:08:05 2006 +0100 + + [PATCH] blktrace: fix for potential data overwrite + + Here is the situation before the realloc: + + fd_max_size + | + v + XXXOOOOXXXXX + ^ + | + fd_off + + The X's are data, the O's are empty. What we start with after the realloc: + + fd_max_size + | + v + XXXOOOOXXXXXOOOOOOOOOOOO + ^ + | + fd_off + + In the original code we have the movement of data from byte 0 + (tip->fd_buf) to tip->fd_off - over-writing data. I think if we use + tip->fd_max_size, we get the desired result (note: tip->fd_max_size is + updated to 2 times the size AFTER the memmove). + +commit ac740d98c8c83f5d5ae3e16ef96704933c648b4a +Author: Jens Axboe +Date: Sun Jan 22 19:15:39 2006 +0100 + + [PATCH] blkparse: hash-by-name is -h, not -n. correct help info. + +commit be4a60c31460bff2cd827c62ae1abb56fb74c41c +Author: Tom Zanussi +Date: Sun Jan 22 19:10:04 2006 +0100 + + [PATCH] blktrace: bad ret = len assignment that should be ret == len + +commit f4f763cab2ef0210088e35c336f217293222ee7b +Author: Alan D. Brunelle +Date: Thu Jan 19 15:15:45 2006 +0100 + + [PATCH] blkparse: reverse the order of the skips out for when verbose is enabled + +commit 8c0221bf0fcf15bfdbdff5ed8555b6604dfc7196 +Author: Jens Axboe +Date: Thu Jan 19 08:45:04 2006 +0100 + + [PATCH] verify_blkparse: init last_seq to -1 to avoid alias on sequence 0 + +commit 5cc96acba28248e124451bd1023ba985af248599 +Author: Jens Axboe +Date: Wed Jan 18 20:31:43 2006 +0100 + + [PATCH] blktrace: woops, left debug fprintf() in there, kill it + +commit ae9f71b3a2d7839a0025f75997208433b220f3ac +Author: Jens Axboe +Date: Wed Jan 18 20:29:14 2006 +0100 + + [PATCH] blktrace: better poll fix, just return every x msec instead + +commit bbabf03a6476d57c8e6507857fb7bf5b29018432 +Author: Jens Axboe +Date: Wed Jan 18 20:27:10 2006 +0100 + + [PATCH] blktrace: improve poll() handling, relayfs uses subbuffer granularity + +commit e2369c59e441dc0318918caa0951de0f6b46df0c +Author: Jens Axboe +Date: Wed Jan 18 16:25:16 2006 +0100 + + [PATCH] blktrace: __refile_ringbuffer() needs to return size + +commit 3b8164f96ea2f32947b23dbbca1ef0c42b444dac +Author: Jens Axboe +Date: Wed Jan 18 15:00:05 2006 +0100 + + [PATCH] blktrace: signedness fixes + +commit 1c99bc2122136be9d3f812fd7e590f71fec378a1 +Author: Jens Axboe +Date: Wed Jan 18 14:53:23 2006 +0100 + + [PATCH] blktrace: remember to resize ringbuffer before each fill + +commit eb3c81081fc65a4e1de84c529e2bcc9d74ccf3af +Author: Jens Axboe +Date: Wed Jan 18 14:34:54 2006 +0100 + + [PATCH] blktrace: fix ringbuffer and event drop reaping + +commit 492da111fbed2ec299892b32d332f0ec989b3986 +Author: Alan D. Brunelle +Date: Wed Jan 18 14:33:24 2006 +0100 + + [PATCH] blkparse: improve skip detection / logging + +commit 7ac25441fb7bc3c53f4ad20500591c749dcddda6 +Author: Jens Axboe +Date: Tue Jan 17 14:06:44 2006 +0100 + + [PATCH] blktrace: we don't need ->closed anymore + +commit 91816d548771dc7823275b2e5ea7381797ab8e1e +Author: Jens Axboe +Date: Tue Jan 17 13:39:00 2006 +0100 + + [PATCH] blktrace: let the threads shut themselves down + + This gets rid of the problem where the main and worker threads race + for killing the various file descriptors and buffers. + +commit a3e4d3309ff982311ab8b7d5865b5458b0349aae +Author: Jens Axboe +Date: Tue Jan 17 13:38:17 2006 +0100 + + [PATCH] blktrace: add ringbuffer in front of kernel buffers + + This greatly improves the skipping, I now get full skip free down to 32k + kernel side buffers where I needed 1024k before. + +commit 23f5e2577fd100c6c1f568b60a5633f9d8b79516 +Merge: ecede8c 6517813 +Author: Jens Axboe +Date: Mon Jan 16 15:42:58 2006 +0100 + + Merge branch 'master' of ssh://router/data/git/blktrace + +commit ecede8ca480968a8f52c90a140090096cad8ca4c +Author: Jens Axboe +Date: Mon Jan 16 15:42:48 2006 +0100 + + [PATCH] blktrace: kill unused tip members + +commit 6517813e56d496fa29a50a8d12e93781841c9658 +Author: Jens Axboe +Date: Fri Jan 13 15:33:23 2006 +0100 + + [PATCH] kernel: dropped events and cciss support + +commit 56070ea4b5efb32b54aaecd83ff2881560eb99a8 +Author: Jens Axboe +Date: Fri Jan 13 15:28:01 2006 +0100 + + [PATCH] blktrace: add warning about increasing buffer size with dropped events + +commit dce0f678e3a7b9b7dc1e4c5f9c8cbed528a920ed +Author: Alan D. Brunelle +Date: Fri Jan 13 15:21:00 2006 +0100 + + [PATCH] blkparse: Count forward and backwards skips seperately + +commit 4054070af867f170e7cf85f1cb3cf4f0a3f138d8 +Author: Jens Axboe +Date: Fri Jan 13 15:05:30 2006 +0100 + + [PATCH] blkparse: dump requeue info as well + +commit e21dc4dd837779466cf867a56bfd0902938188d4 +Author: Jens Axboe +Date: Fri Jan 13 13:26:27 2006 +0100 + + [PATCH] blkparse: __account_c() needs to take a signed integer + + Otherwise requeues passing negative byte count don't work as expected. + +commit 8ea6249518a81ef48f2aaaba473b91b42e76699f +Author: Jens Axboe +Date: Fri Jan 13 09:09:59 2006 +0100 + + [PATCH] blktrace: show stats on sigint as well + +commit da39451f5ebdac940dff762a0a5580cda4e957dd +Author: Tom Zanussi +Date: Fri Jan 13 09:01:15 2006 +0100 + + [PATCH] blktrace: add support for checking events dropped by the kernel + +commit 587f359bf460166e292225de00a6aa824b0df269 +Merge: 99c1f5a 6f7da51 +Author: Jens Axboe +Date: Thu Jan 12 18:58:33 2006 +0100 + + Merge branch 'master' of ssh://router/data/git/blktrace + +commit 99c1f5ab3e6347240e56bd9fcecccfab12f96acb +Author: Jens Axboe +Date: Thu Jan 12 18:57:26 2006 +0100 + + [PATCH] blktrace: smaller code cleanups + +commit 6f7da51bb793961dae5a6bc0590aa63a56bb1ba2 +Author: Jens Axboe +Date: Thu Jan 12 15:05:31 2006 +0100 + + [PATCH] kernel: update kernel patch (mutex update, and device name fix) + + This makes blktrace work with device names that includes slashes, such as + cciss (/dev/cciss/c0d0, for instance). + +commit 007c233c30bac31d5082f98607294f9ca26a3432 +Author: Jens Axboe +Date: Thu Jan 12 14:01:14 2006 +0100 + + [PATCH] blktrace: use buffered output, halves the CPU usage of tracing. + +commit 80c536086fdcaa805050a0a08aa82f3d1e646335 +Author: Jens Axboe +Date: Thu Jan 12 12:44:05 2006 +0100 + + [PATCH] blkparse_fmt: missing 'requeue' event handling + +commit cf4839171e2c12b3cf471be168016a7586fbd2f3 +Author: Jens Axboe +Date: Thu Jan 12 11:19:24 2006 +0100 + + [PATCH] Fix typo in blk_add_request in elevator.c (kernel patch) + +commit 8f551a39c5c48ec15e2f21e67bebf3d00713ea8f +Author: Jens Axboe +Date: Wed Jan 11 16:21:34 2006 +0100 + + [PATCH] Increase blktrace default subbuffer size + + We generate so much data, that we cannot keep up with the smaller 128kb + buffer. So increase it to 512kb. + +commit 08fe97d6e6f8f2160a5312d44838c17bc1845af2 +Author: Jens Axboe +Date: Wed Jan 11 09:47:03 2006 +0100 + + [PATCH] Update kernel patch to newest 2.6.15-git + +commit 663af81986ad392529b4d0d17e1ef43a9877db82 +Author: Jens Axboe +Date: Tue Jan 10 21:51:34 2006 +0100 + + [PATCH] Work-around for 32-bit be64_to_cpu() weirdness + +commit fdf9780fa74eda26dee83223e7e7534fc6d2a693 +Author: Jens Axboe +Date: Wed Nov 16 14:07:37 2005 +0100 + + [PATCH] Update kernel patch to match the one in the block git repo + +commit 04faffa6b08c2a313730796229336ef2414e1933 +Author: Christoph Hellwig +Date: Wed Nov 16 14:04:26 2005 +0100 + + [PATCH] blk_io_trace_remap structure needs padding on 32-bit + + Signed-off-by: Jens Axboe + +commit 3489dd6454f86f3d695ff9b65a103b38584d45d5 +Author: Jens Axboe +Date: Mon Oct 31 11:12:23 2005 +0100 + + [PATCH] Add .gitignore fil + +commit 6c8d81e4b5692821708c8205b11a678bfbfb1801 +Author: Jens Axboe +Date: Mon Oct 31 11:11:31 2005 +0100 + + [PATCH] update kernel support for recent kernel + + Also add ->start_lba ->end_lba support for tracing a range, and + ->pid for only following a specific app. + +commit 31382e5dcd8ae57a3ba852065c2f7d4ec4a3e2c1 +Author: Jens Axboe +Date: Tue Oct 11 13:14:56 2005 +0200 + + [PATCH] rpm should work for version 3.x now (with changed RPMBUILD) + +commit a6f3b5ba931a50d3c514313182ca5f9fef7d3e31 +Author: Jens Axboe +Date: Tue Oct 11 13:11:02 2005 +0200 + + [PATCH] Include tar ball in clean target + +commit fa503a0cccf49885a1d0c8fecfb575c856f1c8ae +Author: Jens Axboe +Date: Tue Oct 11 13:09:23 2005 +0200 + + [PATCH] Add make rpm target + +commit 13d928f089e91f985c6ff9f67c84dd97331cc672 +Author: Jens Axboe +Date: Tue Oct 11 12:57:36 2005 +0200 + + [PATCH] 1.0 preparations + +commit 1c8a9524b4ef98cd669b241a21727ee43e8874fb +Author: Jens Axboe +Date: Tue Oct 11 11:36:52 2005 +0200 + + [PATCH] Bump version, should be about good to go for 1.0 + +commit 6e0073ed0b872275aa6271b2daaaba6a0ab8019e +Author: Jens Axboe +Date: Tue Oct 11 09:50:47 2005 +0200 + + [PATCH] blkparse: be a little more flexible in mixing -i and -D + +commit aa61fd87772adef15ac5a98ff41636ea776d69d8 +Author: Alan D. Brunelle +Date: Tue Oct 11 09:05:58 2005 +0200 + + [PATCH] kernel: update remap to work for dm as well + +commit 43a7306214196e7264c0f42b78cd9dcef388f479 +Author: Jens Axboe +Date: Mon Oct 10 16:54:19 2005 +0200 + + [PATCH] btrace.spec: spelling error + +commit f572317d20c6d4249bdb63c9dd8b5f6cfa394aeb +Author: Jens Axboe +Date: Mon Oct 10 16:52:51 2005 +0200 + + [PATCH] Add rpm spec file + +commit bc17157980e0e99a65052bc55b001531dd0cec2e +Author: Jens Axboe +Date: Mon Oct 10 16:52:38 2005 +0200 + + [PATCH] blkparse: sparse and friends don't like ULONG_LONG_MAX + +commit eb9bd4e96c29bd1a795f4983a6bd244d1f0a986b +Author: Jens Axboe +Date: Mon Oct 10 13:28:13 2005 +0200 + + [PATCH] blkparse: fix memory leaks + +commit da19e768edd8f92d12086286d29db8ec3b721023 +Author: Jens Axboe +Date: Mon Oct 10 12:54:54 2005 +0200 + + [PATCH] blkparse: suff[] should not be static + +commit 0dc3602c57d48d2ca984c4ef2bf86ad0534e7f1f +Author: Jens Axboe +Date: Mon Oct 10 12:52:39 2005 +0200 + + [PATCH] blkparse: remember to bail out if conversion gets too large + +commit 4c5231655613159c5ffab37c75e5ae6e3c3f8263 +Author: Jens Axboe +Date: Mon Oct 10 12:47:47 2005 +0200 + + [PATCH] blkparse: pretty up stats print by converting to correct K/M/G + +commit c5b475b10654dd06778d386ed2babcb935211160 +Author: Jens Axboe +Date: Mon Oct 10 12:20:29 2005 +0200 + + [PATCH] blkparse: kill debug statement in rate calculation + +commit b1c8e61412a4d1bae47cb39e930d6aa306707ecb +Author: Jens Axboe +Date: Mon Oct 10 12:11:16 2005 +0200 + + [PATCH] blkparse: fix bad comment in recent checkin + +commit 20ed6177bb89f314f778f75d25b28f241f3db868 +Author: Jens Axboe +Date: Mon Oct 10 12:10:04 2005 +0200 + + [PATCH] blkparse: include rate dump for stats + +commit 824c2b39f542ab1ff02371fff2643904db93c4cf +Author: Jens Axboe +Date: Mon Oct 10 12:09:20 2005 +0200 + + [PATCH] blkparse: maintain map of online CPUs instead of open files + + The ->nopenfiles fix is not enough, since it doesn't tell us if + the right CPUs are online or not. + +commit 0610d359c0fdb9c16fd627306535c4ceab3851c0 +Author: Jens Axboe +Date: Sun Oct 9 16:07:14 2005 +0200 + + [PATCH] Add large file support for 32-bit platforms + +commit fd8a68ba0cd00775f3a22d6dd422962353de52a4 +Author: Jens Axboe +Date: Sun Oct 9 12:35:49 2005 +0200 + + [PATCH[ verify_blkparse: dump number of events scanned + +commit 774a1a10d24094d233175f2aa41fdff4bcf21be9 +Author: Jens Axboe +Date: Sun Oct 9 12:31:30 2005 +0200 + + [PATCH] stopwatch usage may misorder first event + + If the stopwatch_start happens to trigger when we only have + events from _some_ of the available cpus in the rb_sort tree, + the first event may be misreported. Check for that. + +commit 58261c756836677184f2588941293d7e3fda0ad9 +Author: Jens Axboe +Date: Sun Oct 9 11:21:56 2005 +0200 + + [PATCH] verify_blkparse: check for correct number of arguments + +commit d372b4d9d6de13dc1daaa488a4e4459c59811d68 +Author: Jens Axboe +Date: Sun Oct 9 11:14:47 2005 +0200 + + [PATCH] Making the pdf requires tetex and latex + +commit 708713899dfdee90779dfce47907091327b1ae4d +Author: Jens Axboe +Date: Fri Oct 7 16:06:00 2005 +0200 + + [PATCH] doc: blktrace.pdf: blktrace.tex dependency + +commit d915dee697e306b914457bb78a429d2d8b98ec26 +Author: Jens Axboe +Date: Fri Oct 7 14:05:18 2005 +0200 + + [PATCH] Switch hash option -h, update btrace for all new options + +commit cbc927b61b683f6ec24cdb5cc7c2e8c3f57ba18c +Author: Jens Axboe +Date: Fri Oct 7 13:21:41 2005 +0200 + + [PATCH] blkparse: fix stat printing + + Forgot to increment pci->nelems. + +commit 57ea8602dc5da207879bd272ba2a0f6afdd5a067 +Author: Jens Axboe +Date: Fri Oct 7 12:49:17 2005 +0200 + + [PATCH] Add -v for being more verbose on non-fatal errors + + Move version to -V instead. + +commit 5512378ea65f48e42d8b7df49064de3e79d4ae65 +Merge: 63756b5 7b464f9 +Author: Jens Axboe +Date: Fri Oct 7 11:18:13 2005 +0200 + + Merge branch 'master' of ssh://axboe@router.home.kernel.dk/data/git/blktrace + +commit 63756b50407dc9a5976210320dccbf6dc57cbaff +Author: Jens Axboe +Date: Fri Oct 7 11:12:58 2005 +0200 + + [PATCH] blkparse_fmt: use memcmp() it is (usually) faster + + At least it has better worst case performance. + +commit 7b464f9fdf067d272f7a86ace990fe0d3e76dceb +Author: Jens Axboe +Date: Fri Oct 7 10:59:32 2005 +0200 + + [PATCH] doc: simplify the git checkout command + +commit b6dc7d6ecf5bb181dd00a7c230c1a8d6e9b35c77 +Author: Jens Axboe +Date: Fri Oct 7 10:58:16 2005 +0200 + + [PATCH] doc: add example of PC command tracing + +commit 1d6376a5e39ed9d13969f4217da386e49e028906 +Author: Jens Axboe +Date: Fri Oct 7 10:50:56 2005 +0200 + + [PATCH] blkparse_fmt: Check for repeated zeroes in pdu + + We can stop dumping the pdu (typically the cdb) if the rest is just + zeroes, append a .. to show that is the case. Saves screen space. + +commit 763d936e7aa0fbcbe3d090f81967c0d8138986ff +Author: Jens Axboe +Date: Fri Oct 7 10:23:35 2005 +0200 + + [PATCH] blkparse: dump stdin entries on every iteration + +commit cf9208eac82ccd06074c026460d9bb256c2ea3a2 +Author: Jens Axboe +Date: Fri Oct 7 10:22:41 2005 +0200 + + [PATCH] blktrace: fix error on stopping live trace and allow trace on CDROM + + We need O_NONBLOCK to trace on an empty CDROM device + +commit b47d077d5193e3cfd02b928f4ebcd68da288d97f +Author: Jens Axboe +Date: Fri Oct 7 09:35:38 2005 +0200 + + [PATCH] Update README + +commit 64acacae1f49e1d0b525a53b30549263c454455a +Author: Jens Axboe +Date: Thu Oct 6 17:29:31 2005 +0200 + + [PATCH] blktrace: gcc-4 signed vs unsigned warning + +commit ae957cbc4f0d0eb7b442dc3c4693db996bcd5170 +Author: Jens Axboe +Date: Thu Oct 6 14:25:52 2005 +0200 + + [PATCH] blkparse: fix remap sectors dump, it was in kb + + Add t_kb(t) and t_sec(t) macros to help with this. + +commit a8f30e64d4d3e05fac70a918d175029412cb1ee7 +Author: Jens Axboe +Date: Thu Oct 6 11:03:20 2005 +0200 + + [PATCH] Add support for remap actions + +commit 208660b112c49b844c8f7733ab30adc4d278ff36 +Author: Jens Axboe +Date: Wed Oct 5 17:54:17 2005 +0200 + + [PATCH] blktrace.tex: add description of each possible action + +commit 2fd00a615bc659d1fe8f58aa11b97120066af456 +Merge: e8ae3d0 ffcf46d +Author: Jens Axboe +Date: Wed Oct 5 17:28:41 2005 +0200 + + Merge branch 'master' of ssh://axboe@brick.kernel.dk/data/git/blktrace + +commit e8ae3d0990ca9d10714f0f18b0453ab32afbbbd8 +Author: Jens Axboe +Date: Wed Oct 5 17:28:33 2005 +0200 + + [PATCH] blktrace.tex: add fs/pc request explanation + + Kill the 1.1 ideas/questions section, everything in there has been + covered by now. + +commit ffcf46d839159db38a4e6b543ee24f97e6dd1f88 +Author: Jens Axboe +Date: Wed Oct 5 17:22:51 2005 +0200 + + [PATCH] Typo: __BIT_ENDIAN -> __BIG_ENDIAN + +commit 1e3c4225dbb79342c8c341b7a726663805945e5a +Author: Jens Axboe +Date: Wed Oct 5 15:16:19 2005 +0200 + + [PATCH] Better endianness check + +commit 4ac5831f3396d504c6397a09be0f60c6f25d705e +Author: Jens Axboe +Date: Wed Oct 5 15:16:02 2005 +0200 + + [PATCH] Makefile: only include .c files in deps + +commit 183a0855c6cc254df40ef443373afda9c6930561 +Author: Jens Axboe +Date: Wed Oct 5 13:05:00 2005 +0200 + + [PATCH] blktrace: sanity check the buf_size argument, cap at 16MiB. + +commit cdaf6af77b233b71fa82c0743c36ade285cada60 +Author: Jens Axboe +Date: Wed Oct 5 11:48:14 2005 +0200 + + [PATCH] Makefile: dep fixup + +commit c5d9acbb32bd2c2eda8b95730462c3f407e72024 +Author: Jens Axboe +Date: Wed Oct 5 11:47:25 2005 +0200 + + [PATCH] Makefile: add dependencies + +commit 574b089f588a2748b4082f02580c425c520c7173 +Author: Jens Axboe +Date: Wed Oct 5 11:44:50 2005 +0200 + + [PATCH] Forgot to kill root blktrace.tex + +commit ff8a07c9182e7c91090f6279abd75f3437b89937 +Author: Jens Axboe +Date: Wed Oct 5 11:38:23 2005 +0200 + + [PATCH] Move docs to doc/ + +commit 8865ed9c11db379415cc9292304e0f6887269f68 +Author: Alan D. Brunelle +Date: Wed Oct 5 11:07:49 2005 +0200 + + [PATCH] Add blktrace users guide + +commit a141a7cde9a8679385207f2e364e5404eaafc00d +Author: Jens Axboe +Date: Wed Oct 5 10:23:36 2005 +0200 + + [PATCH] blkparse: old patch broke the sequence check again + +commit 1ca323a52a36bf34d05c5330e2c34343da4252cd +Author: Jens Axboe +Date: Wed Oct 5 09:54:55 2005 +0200 + + [PATCH] blkparse: we have to allow one skip to prevent sequence screwups + + If one CPU file is completed in the first run, check_sequence() + would allow it to skip too early causing unordered events. + +commit b99d16379d8dfde1986ff1b882460ca0a80bbd87 +Author: Jens Axboe +Date: Wed Oct 5 09:53:31 2005 +0200 + + [PATCH] verify_blkparse: correct sscanf return + +commit 8d1fb00b10f1a27acc9fc1afeddec091e0e11057 +Author: Jens Axboe +Date: Wed Oct 5 09:32:53 2005 +0200 + + [PATCH] Makefile: kill -W again + +commit 3f65c5858b11997e04605386bb160aabe3548ea3 +Author: Jens Axboe +Date: Wed Oct 5 09:28:20 2005 +0200 + + [PATCH] Fix long options + + Partly from Alan. + +commit 0f2d84ba9f690ad1814c939c2a8e52fe7b90f2b6 +Merge: 71ef8b7 fb39f32 +Author: Jens Axboe +Date: Wed Oct 5 09:24:49 2005 +0200 + + Merge refs/heads/master from origin + +commit 71ef8b7c47a4b2a9e75e7ae15234a51cf074eeb0 +Author: Jens Axboe +Date: Wed Oct 5 09:24:44 2005 +0200 + + [PATCH] Remember to terminate options structure + + If not an unknown option will segfault, woops. + +commit fb39f32f8392ad464f6b157de2ed79931ee2d0ad +Author: Jens Axboe +Date: Wed Oct 5 09:13:29 2005 +0200 + + [PATCH] blktrace: fix a few -W warnings + + And leave -W on in the Makefile + +commit 98f8386bc828cc00671b3e5ca4ee1b99332424fb +Author: Alan D. Brunelle +Date: Wed Oct 5 09:12:17 2005 +0200 + + [PATCH] blkparse: Add -a/-A options to blkparse as well + + This moves the mask stuff into a seperate file, act_mask.c + +commit d1d7f15fb45b67e1b0fd077055f8e514cf4c156e +Author: Jens Axboe +Date: Tue Oct 4 20:05:53 2005 +0200 + + [PATCH] Add -D output/input directory option to blkparse and blktrace + +commit 62873474e0fdba703a2ad0ab141ffcb0050566af +Author: Jens Axboe +Date: Tue Oct 4 19:54:09 2005 +0200 + + [PATCH] blktrace: note that the -b option is in KiB + +commit 3a9d6c13e905b35f3ae63d3c809ad131b9a57f1e +Author: Jens Axboe +Date: Tue Oct 4 11:13:58 2005 +0200 + + [PATCH] blktrace: optimize the get_event() normal case + + We usually only see partial traces in very few numbers (like + a few in a million), so optimize the normal case by getting + a full trace instead of splitting it into a 4-byte and remainder + read. + +commit dd90748fb0fa9f603fc9eac3a2e4682d17fef6b4 +Author: Jens Axboe +Date: Mon Oct 3 14:27:05 2005 +0200 + + [PATCH] blkparse: only break out of last loop if not dumping to stdout + + Otherwise sending a ctrl-c when running btrace will quit, leaving + entries never dumped. + +commit 0b07f23e59f480d566f267c5d344556a264aa305 +Author: Jens Axboe +Date: Mon Oct 3 14:06:33 2005 +0200 + + [PATCH] blkparse: stdin sequence and aliases fixes + +commit 4b5db44a063baeace0690456f8f7a46681659fcf +Author: Jens Axboe +Date: Mon Oct 3 14:06:07 2005 +0200 + + [PATCH] blktrace: allow for unaligned events + + Unfortunately it looks like we have to support this for now, + as it appears relayfs will still miss events on buffer wraps + for the read cases. + +commit 63c7bd7576615978d0091c5a0c56c3e1a0c685fc +Author: Jens Axboe +Date: Mon Oct 3 14:05:12 2005 +0200 + + [PATCH verify_blkparse: dump number of sequence aliases as well + +commit 0698729e1f2d78815da1ba1b84a01134d78ce2cb +Author: Jens Axboe +Date: Mon Oct 3 14:04:48 2005 +0200 + + [PATCH] btrace: need large rb batch count for stdin sorting + +commit db6fe5bc1c299517bd3cb3d3b9bec957a8863f72 +Author: Jens Axboe +Date: Mon Oct 3 11:33:59 2005 +0200 + + [PATCH] blktrace: various fixes + + - Better exit_trace() backoff + - Don't assume that write() always writes the full chunk + - kill mmap(), we will never use it for packet driven workloads + - Bug in get_data_read/read_data() for incremental reads + - Optimize tid_fd_lock() holding, drop before freeing memory + +commit c9d46c9054dc71eeb44469c6c07e9a1e08dec9b5 +Author: Jens Axboe +Date: Mon Oct 3 10:06:01 2005 +0200 + + [PATCH] blkparse: kill old force debug print + +commit bc4fd908769eebef9223397759386bdf6c7fc071 +Author: Jens Axboe +Date: Mon Oct 3 09:05:01 2005 +0200 + + [PATCH] kernel: update patch to 2.6.14-rc3 + +commit 7d1c04111392f9d0dcd0392cc48f04b5d0a2a1dc +Author: Jens Axboe +Date: Sun Oct 2 21:34:10 2005 +0200 + + [PATCH] blkparse: Add option to print missing entries + + And default to off, it can be fairly verbose. + +commit 1c7c54aa02106d097ef7ec772cc8555d9d6634e8 +Author: Jens Axboe +Date: Sun Oct 2 15:39:14 2005 +0200 + + [PATCH] blkparse: check smallest sequence read + + This allows check_sequence() to know when a skip happened and + when it is ok to proceed. Should be the final fix, now we now + when a sequence is missing and we nicely limit the memory + consumed in presence of large traces and missing entries. + This change brings down memory consumption of a skippy 1.3 + million trace here down from 130MiB to 15MiB. + +commit 3c8413cb8d85f28622e9fefb5a6bcb0705f3b26f +Author: Jens Axboe +Date: Fri Sep 30 12:34:19 2005 +0200 + + [PATCH] blkparse: invert alloc checks, more intuitive + +commit 1d24fc14547bf4197f0a6f1203e513fe584cb0ed +Author: Jens Axboe +Date: Fri Sep 30 11:52:24 2005 +0200 + + [PATCH] blkparse: reduce memory consumption + + - Better skip detection + + - Limit maximum number of t/bit allocation cache entries + +commit 85e84946efa0bb4b548f843ff40d10d49937b6e4 +Author: Nathan Scott +Date: Fri Sep 30 07:33:30 2005 +0200 + + [PATCH] blkparse: fix ->sector printing warnings + +commit ab9b41a797a48e2ed26a3d9849f70a6447b152bc +Author: Jens Axboe +Date: Thu Sep 29 13:08:50 2005 +0200 + + [PATCH] README: add reference to gitweb on brick + +commit e820abd79354e5b8596e1ec8105ffe36d36f9c20 +Author: Jens Axboe +Date: Thu Sep 29 12:01:37 2005 +0200 + + [PATCH] Assorted compiler warnings + +commit cf4b68a59f5b5a7758d9e58b54edd9e59554d23e +Author: Jens Axboe +Date: Wed Sep 28 17:57:03 2005 +0200 + + [PATCH] verify_blkparse: print events not ordered + + And fix exit code. + +commit 54aa4b1c9f410181a01996a7288056a58b456d1f +Author: Jens Axboe +Date: Wed Sep 28 17:50:56 2005 +0200 + + [PATCH] Add verify_blkparse description to README + +commit 42a58cd1b3940ca1c70619f8af8009273c545b3c +Author: Jens Axboe +Date: Wed Sep 28 17:45:51 2005 +0200 + + [PATCH] verify_blkparse: implement in C instead + + The C version checks a 92MB file in 2 seconds where the php + version takes 23 seconds. + +commit e8f652a66f46ab8d8f4799bfc8bc0eb343615630 +Author: Jens Axboe +Date: Wed Sep 28 16:27:52 2005 +0200 + + [PATCH] verify_blkparse: missing line break + +commit 1e6fbfb69043fd59d065a5313d325569f15711e7 +Author: Thomas Kenne +Date: Wed Sep 28 15:51:16 2005 +0200 + + [PATCH] verify_blkparse: fix parsing + + Current version would break, if the device number didn't have + a leading space. + +commit 1c24add6afe134bb1f76e61891fb239d08471dee +Author: Jens Axboe +Date: Wed Sep 28 15:41:22 2005 +0200 + + [PATCH] blkparse: prune old found entries in rb_last + +commit a9ae7e1219024e30189873862cea9ad33866bf59 +Author: Jens Axboe +Date: Wed Sep 28 15:40:16 2005 +0200 + + [PATCH] verify_blkparse: make sure file is readable + +commit 1f71a5e8d263341d3516a0d1b38898eae53489db +Author: Jens Axboe +Date: Wed Sep 28 14:52:06 2005 +0200 + + [PATCH] verify_blkparse: proper check of file given + +commit 23211fdf46da1999d26cf05c6e91739e036d3fa2 +Author: Jens Axboe +Date: Wed Sep 28 14:17:39 2005 +0200 + + [PATCH] blkparse: don't check time in last rb lookup + +commit 2671f35e16d5b6d3cb9386ed1230ca0fe040cec0 +Author: Thomas Kenne +Date: Wed Sep 28 14:12:55 2005 +0200 + + [PATCH] Add script to verify correctness of blkparse output + + Only checks the time. + +commit f7bd1a9be79f865dc7c154ab273018a092635ac2 +Author: Jens Axboe +Date: Wed Sep 28 11:34:29 2005 +0200 + + [PATCH] blkparse: make the rb track root per-device + +commit d6222db89aea11a0dfc39f431bc24849ba5b055c +Author: Jens Axboe +Date: Wed Sep 28 10:56:59 2005 +0200 + + [PATCH] blkparse: misc assorted fixes + + - Move the trace verification earlier, so that traces on + trace_list are always known valid + + - Start with -1 sequence so when using the stopwatch the + skip count is correct (first entry might not be 1) + + - stdin get_cpu_info() fix + +commit ca1880de2718d80f7033770b4fde74b1ba95de30 +Author: Jens Axboe +Date: Wed Sep 28 08:55:52 2005 +0200 + + [PATCH] kernel: move the plug/unplug logging around a little + +commit 2a1b34248fc192cc93d6d63f6c7f1b27f27bcc16 +Author: Jens Axboe +Date: Wed Sep 28 00:03:59 2005 +0200 + + [PATCH] blkparse: sequence fixes + + This should finally fix all the remaining sequence bugs. We + keep a backlog of already processed entries so we can lookup + any out-of-sequence events there. That takes care of one + direction of sequence and time mismatches. The other direction + is handled by fixing the trace_rb_find() lookup to work well + enough without having a precise time (which is the primary + key for the rb sort). + +commit acd70d216292cc61a7dd85761653918c52740eca +Author: Jens Axboe +Date: Tue Sep 27 18:18:04 2005 +0200 + + [PATCH] blkparse: improve skip detection + +commit cdbda0722ab0995fdb5e6dc1a7bafeb2cb41b7b2 +Author: Jens Axboe +Date: Tue Sep 27 15:38:08 2005 +0200 + + Forgot to kill old patch + +commit 892ca0d3124bc240d377e52fe9035674a53f7dd1 +Author: Jens Axboe +Date: Tue Sep 27 12:18:14 2005 +0200 + + [PATCH] kernel: improve serialization and unplug logging + +commit 53c68c88e22a54e4305ef44dfb3253242dfcb25f +Author: Jens Axboe +Date: Tue Sep 27 11:04:43 2005 +0200 + + Forgot to include the change for the last stopwatch fix... + +commit 98c5a267d2fb53a100916847ee1f9e8e016a05e8 +Author: Jens Axboe +Date: Tue Sep 27 10:22:33 2005 +0200 + + [PATCH] blkparse: another stab at stopwatch_end fixing + + This should work reliably, the check is moved after we + have definitely called find_genesis(). + +commit 89d2e850a422e8af6ccb9312453a86f6472f2d43 +Author: Jens Axboe +Date: Tue Sep 27 10:15:24 2005 +0200 + + Revert "[PATCH] blkparse: final stopwatch check" + + This reverts a795e5fae97e14d77c3c3c7d0f6543e6c5f8c850 commit. + +commit 8e68e38f387e121ccf808cc0d7137ee85feac004 +Author: Jens Axboe +Date: Tue Sep 27 10:15:17 2005 +0200 + + [PATCH] blktrace: fix sparse warning + +commit 1c8ca7b5a1016d63caa1248e4a62d22600234f93 +Author: Jens Axboe +Date: Mon Sep 26 19:05:40 2005 +0200 + + [PATCH] blkparse: add %N format for bytes + + We need this for PC requests, they are not multiples of 512 + like the FS requests. At the same time change the default for + PC requests to dump in bytes. + +commit a795e5fae97e14d77c3c3c7d0f6543e6c5f8c850 +Author: Jens Axboe +Date: Mon Sep 26 15:42:05 2005 +0200 + + [PATCH] blkparse: final stopwatch check + + Delayed quit when all files have been read and there are no + further entries beyond that point, then it is safe to quit + out early there as well. + +commit 7f4d89e6f49fef4d813aaeaf2988adf8e0f43dd7 +Author: Jens Axboe +Date: Mon Sep 26 15:36:19 2005 +0200 + + [PATCH] blkparse: more stopwatch cleanups + +commit 4f0ae44f18675821f221153329765bc19d9cea9f +Author: Jens Axboe +Date: Mon Sep 26 15:34:37 2005 +0200 + + [PATCH] blkparse: improve stopwatch + + Move the checks much earlier, no point in doing a lot of + work for stuff we will toss out anyways. + +commit 715d80213ac4db03feeb382b4af56d7d69f7001d +Author: Jens Axboe +Date: Mon Sep 26 14:38:23 2005 +0200 + + [PATCH] blkparse: hash-by-name fixes + + - Be more precise in dumping (name, ...) in the stats, only do it + when there really was more than one. + + - The -n option needs to clear the hash-by-pid variable. + +commit ae9a1c135c6de0465f711d54b56a5d600055bff9 +Author: Jens Axboe +Date: Mon Sep 26 14:32:59 2005 +0200 + + [PATCH] blkparse: oops, missed removing a hash debug statement + +commit b5855279f28b6f8add041f5bd27e1214e26eb152 +Author: Jens Axboe +Date: Mon Sep 26 14:30:12 2005 +0200 + + [PATCH] TODO: add entry about fixing show_entries_rb() OOO logic + +commit bf0720afa8e5f5e2a2bb87abc0b015f35beadef3 +Author: Jens Axboe +Date: Mon Sep 26 14:26:24 2005 +0200 + + [PATCH] blkparse: Add option to hash process by name + + For some traces, you really don't want to see thousands of cc1 + processes in the stats, you want to collect the stats by name + instead. This adds the -n option to blkparse, enabling that. + + Switched to Jenkins hash at the same time, as it allows for + easy hash-by-u32 or hash-by-name as we see fit. + +commit 0583b6a25eaa259bf9ade5746452473464814f6e +Author: Jens Axboe +Date: Mon Sep 26 13:12:33 2005 +0200 + + [PATCH] blkparse: more sequence fixes + +commit e35569461a65bab6a78f20dc9c3ec9ef6f421414 +Author: Jens Axboe +Date: Mon Sep 26 12:26:29 2005 +0200 + + [PATCH] blkparse: improve skipping and genesis_time lookup + +commit 768277cc7274c608c35b7630973d2ca4e6657101 +Author: Jens Axboe +Date: Mon Sep 26 11:51:58 2005 +0200 + + [PATCH] blkparse: hardcode the default formats instead of parsing them + + It takes a lot of time to manually parse each individual trace, + and there's really no point in doing that work if the user did + not specificy a custom format. We now only parse the given custom + formats. + + Without any custom formats (eg the default), parsing a trace of + 1.3 million entries now takes 4.3 seconds where it took 11.25 before. + +commit a649216c3028939192da8584e847faaa2478843c +Author: Jens Axboe +Date: Mon Sep 26 10:50:04 2005 +0200 + + [PATCH] blkparse: force dump of remaining rb entries on reading done + + Otherwise we may not display a significant chunk of entries. + +commit 407ab742c5c8e3b90b12d5ba45361bef4b06d2a0 +Author: Jens Axboe +Date: Sun Sep 25 14:31:24 2005 +0200 + + [PATCH] kernel: put back old syncronization + + It's actually the best - keep the trace on the stack, so multiple + invocations from the same CPU (ie from process and irq context at + the same time) get their own 't', and keep the local irq disable + to prevent interleaving of trace and PDU with other contexts. + +commit 71d5d4c9156c5946e76fe9909b234e9da64a8341 +Author: Jens Axboe +Date: Sun Sep 25 07:37:11 2005 +0200 + + [PATCH] blkparse: split format parsing into seperate file + +commit 6f7de8cd76bec1f90ec2dced6aaed583841dc954 +Author: Jens Axboe +Date: Sat Sep 24 21:54:44 2005 +0200 + + Revert "[PATCH] kernel: kill irq save/restore" + + This reverts 68bf440bf36d239ff3cb27b34b95ea7911c7c5a6 commit. + +commit 68bf440bf36d239ff3cb27b34b95ea7911c7c5a6 +Author: Jens Axboe +Date: Fri Sep 23 17:24:04 2005 +0200 + + [PATCH] kernel: kill irq save/restore + + It should not be needed anymore, the writes a per-CPU and the + get_cpu()/put_cpu() will prevent preemption. + +commit 7f177fe713bc0128fdea68e221c0ea468caca1b5 +Author: Jens Axboe +Date: Fri Sep 23 17:21:11 2005 +0200 + + [PATCH] kernel: avoid trace corruption on SMP + + Maintain a static trace structure per-CPU. + +commit be925321a07fb9dca627dd3c1a341aeab874d2e8 +Author: Jens Axboe +Date: Fri Sep 23 16:54:56 2005 +0200 + + [PATCH] blkparse: sequence fixes + + Only set last sequence _after_ a potential break of the loop. + And remember to set last_allowed_time for stdin reads as well. + +commit 287fa3d6da77852d5c271136c1a70c77494a329a +Author: Jens Axboe +Date: Fri Sep 23 16:45:51 2005 +0200 + + [PATCH] blkparse: fix sorting of file events regardless of batch size + + If the batch wraps, it would be possible to start displaying events + way into the future if parsing multiple devices. + +commit dcf0f7ed6b773660bd8dcc64bb3d84a9c43610bc +Author: Jens Axboe +Date: Fri Sep 23 15:09:37 2005 +0200 + + Revert "[PATCH] blkparse: rbtree sort primary key should be sequence, not time" + + This reverts acba447a946b022df6a30159425309f033e46ab7 commit. + +commit 129aa440adee4a68dfe5468a67e636ee46642f88 +Author: Jens Axboe +Date: Fri Sep 23 11:46:40 2005 +0200 + + [PATCH] blktrace: Add option for setting sub buffer size + + Use -b to give sub buffer size in KiB, -n to give number of + sub buffers wanted. This affects the relayfs trace setup. + +commit acba447a946b022df6a30159425309f033e46ab7 +Author: Jens Axboe +Date: Fri Sep 23 11:39:48 2005 +0200 + + [PATCH] blkparse: rbtree sort primary key should be sequence, not time + + Otherwise we may lose events if the event time is a little out + of sync. + +commit add75d526cdcacc8355137fd77e249ab534064fe +Author: Jens Axboe +Date: Fri Sep 23 11:12:48 2005 +0200 + + [PATCH] blkparse: can't return on-stack variables + + Just make it static, access is serialized to it. + +commit 8d99d1419830b5c48fa5a2d20ad72444e58e03ef +Author: Jens Axboe +Date: Fri Sep 23 10:07:54 2005 +0200 + + [PATCH] README: add link to mailing list at vger + +commit 7a9690c0cf6a4034873d7682904e19c8b4a48b70 +Author: Jens Axboe +Date: Fri Sep 23 08:49:22 2005 +0200 + + [PATCH] blkparse: don't append .log to the -o given output file + +commit 73877e12d566b8fb233a09f8be8d26daf7578052 +Author: Nathan Scott +Date: Fri Sep 23 08:34:23 2005 +0200 + + [PATCH] blkparse: make the nfiles counter live inside pdi + + Gets rid of the extra malloc and is cleaner. + +commit 0c39425cbd4ab4166cc6f17031b932991c45ae9d +Author: Nathan Scott +Date: Fri Sep 23 08:33:20 2005 +0200 + + [PATCH] blkparse: fix pointer cast warnings + +commit 74feaeb5f088df903256dba366399774707533e8 +Author: Alan D. Brunelle +Date: Thu Sep 22 20:06:53 2005 +0200 + + [PATCH] blkparse: correctly account number of files per device + +commit 30f6be8dddebc3d408dfbce044f2850feadf32c9 +Merge: d36421e db51e53 +Author: Jens Axboe +Date: Thu Sep 22 20:02:41 2005 +0200 + + Merge refs/heads/master from origin + +commit d36421e4cfe847a8b6e2f4f20aeeba4cb5c23918 +Author: Jens Axboe +Date: Thu Sep 22 20:02:30 2005 +0200 + + [PATCH] blkparse: more optimizations + + The sort path unification and memory cutback introduced some + overhead, mainly due to lots of memory allocations and frees + of the same structures over and over again. Add a frontend + cache for struct trace and blk_io_trace allocations. + + Also concatenate a lot of the string operations in fmt_select, + it's quite high in the profiles. + + This brings us to the same performance as the memory hog version. + +commit db51e5314247ea99314400757902d0acd4b8593f +Author: Jens Axboe +Date: Thu Sep 22 16:47:40 2005 +0200 + + [PATCH] kernel: export the __blk_add_trace() symbol for modules + +commit 5ec550f7d997f9b6a4ccb815cd2876a79dbfb0a8 +Merge: 7d747d2 368f5b3 +Author: Jens Axboe +Date: Thu Sep 22 16:43:52 2005 +0200 + + Merge refs/heads/master from origin + +commit 7d747d22bc84545a8da10a1d02ff12bd3120ce59 +Author: Jens Axboe +Date: Thu Sep 22 16:43:48 2005 +0200 + + [PATCH] blkparse: drastically reduce memory foot print + + File reads needed enough memory to hold all events from all CPUs. + This quickly grew to hundreds of megabytes. Bring down this number + by interleaving reads from the files and relying on the same + mechanism as the piped reads to syncronize them. This makes file reads + use the same path as pipes and actually removes more code than it adds. + For a 900,000 entry file, memory consumption here is down from ~110MiB + from about 1MiB to process it. + +commit 368f5b35ae913dabdd6f0f213127f3dcbf48625f +Author: Jens Axboe +Date: Thu Sep 22 16:40:44 2005 +0200 + + Revert "[PATCH] blkparse: bad ncpus check" + + This reverts 08d83c704fbda722d3040d643665e2c029744aa7 commit. + +commit 08d83c704fbda722d3040d643665e2c029744aa7 +Author: Jens Axboe +Date: Thu Sep 22 16:15:45 2005 +0200 + + [PATCH] blkparse: bad ncpus check + +commit 1f7afa7245d0ec40eb6214c198d199e157fd9f74 +Author: Jens Axboe +Date: Thu Sep 22 14:29:50 2005 +0200 + + [PATCH] blkparse: shave 20% off the runtime + + Various optimizations and moving code around a little. + +commit b2a8adbf29851b7e93402bee9c65d9d34c4765f3 +Author: Jens Axboe +Date: Thu Sep 22 13:33:55 2005 +0200 + + [PATCH] Add local master repo to documentation + + Note that it is using the git daemon, not rsync. + +commit 52724a0ef233f639c2fc6588bbc1cc05be74a422 +Author: Jens Axboe +Date: Thu Sep 22 12:30:12 2005 +0200 + + [PATCH] Update in-program help/usage info + +commit 1b92824775bd32cc4614c39138dfdbb09012f703 +Author: Jens Axboe +Date: Thu Sep 22 12:11:08 2005 +0200 + + [PATCH] blkparse: Fix stopwatch + + The option should be start:end, not start:duration (at least that is + what I intended and what is documented). Also fix the actual dumping, + we need to prune earlier entries from the rb tree or we will loop + forever. + +commit 182f2fccd5aaf89200c3f784460d2689ed50d0d0 +Author: Jens Axboe +Date: Thu Sep 22 10:56:05 2005 +0200 + + [PATCH] blkparse: more PC fixes + + Add size of request as well, kill space at the end of pdu dump. + +commit 56f2af81debbc7d2b40b44c9ecfd9e3c3cdbff2c +Author: Jens Axboe +Date: Thu Sep 22 10:46:06 2005 +0200 + + [PATCH] blkparse: fix some pc command dumping + +commit 93f1c611e78c56722d0229532ef71a9658e678bb +Author: Jens Axboe +Date: Thu Sep 22 10:29:10 2005 +0200 + + [PATCH] Add support for bounce and split operations + +commit 638c1923160dc8ed032616c3857362a6ca59a4ad +Author: Jens Axboe +Date: Wed Sep 21 18:45:29 2005 +0200 + + [PATCH] README: typo + +commit ff3a732ca4f9e307453d247f72e922d8478baa1e +Author: Jens Axboe +Date: Wed Sep 21 18:38:38 2005 +0200 + + [PATCH] blkparse: just skip unknown events, there are not fatal + +commit 448342af53bf134043bc768149722014a651dac9 +Merge: b6076a9 50c3870 +Author: Jens Axboe +Date: Wed Sep 21 17:36:01 2005 +0200 + + Merge branch 'master' of ssh://axboe@master.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace + +commit b6076a9b2877a16f6d59f55a70dc01ab916a59e1 +Author: Jens Axboe +Date: Wed Sep 21 17:35:30 2005 +0200 + + [PATCH] blkparse: split queue and insert into two operations + + We need this to support md/dm actions. + +commit 9f6486bd321973c5b8d4ba570c25d90db0d347ad +Author: Jens Axboe +Date: Wed Sep 21 13:59:23 2005 +0200 + + [PATCH] Fix output naming, really + + It's still confusing since the manual name wont include _out like + the automatically generated one will. So now a trace of /dev/sda + will generate sda.blktrace.cpu and blkparse -i sda will catch + those files. Similarly, a blktrace -o sda will generate the + same filename. + +commit 06e6f286262bb5c19ba2f2b3154b6f1ad27373b2 +Author: Jens Axboe +Date: Wed Sep 21 13:52:52 2005 +0200 + + [PATCH] blkparse: fix the alphasorting + + Bad qsort size passed in and missing increment in ppis assignment. + Verified that it actually works now :-) + +commit 50c3870259d1a95ec0e8b2d2bad47062d1def144 +Author: Jens Axboe +Date: Wed Sep 21 11:57:25 2005 +0200 + + [PATCH] blkparse: missing free of ppis + + Doesn't really matter since we exit after this, but... + +commit ce8b6b4ff6319927b016da515112358c4d239573 +Author: Jens Axboe +Date: Wed Sep 21 11:46:51 2005 +0200 + + [PATCH] blkparse: include pid in stat output + + Avoids name conflict with threads. + +commit 886ecf0ec096ec2acfe502a68e9bd48152f12268 +Author: Jens Axboe +Date: Wed Sep 21 11:45:39 2005 +0200 + + [PATCH] blkparse: sort the processes by name in stat output + +commit 428683dbdc487ef5e023b1f2420a4ad80c48db3e +Author: Jens Axboe +Date: Tue Sep 20 14:41:37 2005 +0200 + + [PATCH] Change output/input file expectations + + I think it's a little confusing right now with the naming, giving + -o foo to blktrace results in foo_dev_out.cpu files. Change this + to instead generate foo.cpu files, if the option is given. + +commit 3752a4331642e035c3ddec665eee84def5a4645e +Author: Jens Axboe +Date: Tue Sep 20 09:43:49 2005 +0200 + + [PATCH] blktrace: fix exit + + get_data() workers should return failure on is_done(), otherwise + extract() will attempt to verify a bad trace. + +commit ab197ca71ef9258ab8b1daa46c4602f7bee1add0 +Author: Alan D. Brunelle +Date: Tue Sep 20 09:34:45 2005 +0200 + + [PATCH] blkparse: Add format specifiers and format field identifiers + + This allows the user to completely customize the output format. + +commit 8a43bac53a5280f8517644571983d4e367b1a15a +Author: Jens Axboe +Date: Tue Sep 20 09:13:34 2005 +0200 + + [PATCH] blktrace: prepare for mmap usage again + + It isn't enabled right now, we need a proper consumed/produced + notification model to signal availability of data. poll() doesn't + work well enough, since it only works on a sub-buffer granularity. + +commit a3983763165b2c002a6233212b8ab24c1964535b +Author: Jens Axboe +Date: Tue Sep 20 09:12:34 2005 +0200 + + [PATCH] blkparse: account skips for file reads as well + +commit 0aa8a62d63360d87de8c4402fb1e33d1b3b07985 +Author: Jens Axboe +Date: Mon Sep 19 13:59:30 2005 +0200 + + [PATCH] blkparse: allow a few more skips + +commit c57451b815f8fd534a001f3140a0f52b644b06c6 +Author: Jens Axboe +Date: Mon Sep 19 13:46:19 2005 +0200 + + [PATCH] btrace: need space between options + +commit f1327cc578a68df993b9ecf3d29b684c996f7b6a +Author: Jens Axboe +Date: Mon Sep 19 13:34:56 2005 +0200 + + [PATCH] blkparse: more file breakage + + If we have skipped entries in a file, don't wait around for more entries. + +commit e8741a4a92c233788d342686f63b8a87496d5bfb +Author: Jens Axboe +Date: Mon Sep 19 13:07:29 2005 +0200 + + [PATCH] blkparse: actually include blkparse diff + + Forgot to update the cache for the file breakage patch + +commit b141f9bb04aa54cdf0cdc84bd0a2be61474febfa +Author: Jens Axboe +Date: Mon Sep 19 12:39:22 2005 +0200 + + [PATCH] blkparse: Fixup breakage in file reads + + The pipe fixed broke file reads: + + - Don't kill individual entries in show_entries_rb(), + since it's a big chunk on file reads + + - Need to "lookup" pdi, in case it was resized. + +commit 38749f2cc89072ebaddfd2e822d1cf87baa49bfa +Author: Jens Axboe +Date: Mon Sep 19 12:25:14 2005 +0200 + + [PATCH] blkparse: reinstate __find_track() failures + + It's informational and can help find bugs. + +commit a01516dedb2ef69c01827c3e1fd8f13ed9247ce6 +Author: Jens Axboe +Date: Mon Sep 19 12:22:57 2005 +0200 + + [PATCH] blkparse: fix frontmerge tracking + + Need to lookup by sector + size and remember that sectors are shifted + 9, not 10. + +commit cb2a1a62a595c9bdb238b8a00fa1686da2b5cebe +Author: Jens Axboe +Date: Mon Sep 19 12:14:18 2005 +0200 + + [PATCH] blkparse: better sorting over a pipe + + It's quite easy to skip events when reading on an SMP system over + a pipe, since the events are per-CPU. Place incoming events in + a staging area and back off displaying traces if we detect skipped + events. + +commit 38968a72987757d3d17305f1dee804a90c793c4f +Author: Jens Axboe +Date: Sat Sep 17 20:48:56 2005 +0200 + + [PATCH] Add TODO of action items before 1.0 release + +commit 592166cadbae26ee1f2823138c88efe218c26d8f +Author: Jens Axboe +Date: Fri Sep 16 15:25:05 2005 +0200 + + [PATCH] blkparse: don't print an error on failure to find request + + This can happen if we lose or have out-of-order events when + passing the data through a pipe. + +commit 06639b2732e9294975e20ac7cc74a5f9266a0595 +Author: Jens Axboe +Date: Fri Sep 16 14:08:49 2005 +0200 + + [PATCH] blkparse: include plugging in stats + +commit 07a55d6c7f59687ad0cd7239f93eb3867156eac4 +Author: Jens Axboe +Date: Fri Sep 16 13:31:35 2005 +0200 + + [PATCH] Makefile: make sure to keep CFLAGS for link + +commit 3639a11e5e8bbe00662076a3d5161c26621b4947 +Author: Jens Axboe +Date: Fri Sep 16 10:10:50 2005 +0200 + + [PATCH] Improve unplug logging + + Extend it to capture whether this was an io based unplug (eg someone + doing a wait_on_page() or similar), or of it was a timeout based event). + The logging code also forget to turn the unplug payload into on-wire + big endian and the parsing pdu offset was wrong. + +commit 6d1b96577170e2dd26493a58b430d93a06e0fcf9 +Author: Jens Axboe +Date: Thu Sep 15 18:03:41 2005 +0200 + + [PATCH] README: update to say it needs 2.6.14-rc1 or newer + +commit dfe34da1831c2e30b49046ba745aaf58f0db2c91 +Author: Jens Axboe +Date: Thu Sep 15 15:09:49 2005 +0200 + + [PATCH] blkparse: add log_action() + + For events where sectors and length don't really apply (eg plugging) + +commit 67e14fdc08ebb58b66824949c2d20cc1c651801a +Author: Jens Axboe +Date: Thu Sep 15 15:07:30 2005 +0200 + + [PATCH] blkparse: improve unplug logging + + Add the queued number of requests count as the payload data. + +commit 88b1a526dde324f2d73cfb286af993eb15b2483e +Author: Jens Axboe +Date: Thu Sep 15 10:26:20 2005 +0200 + + [PATCH] blkparse: Add support for the plug/unplug events + +commit 5feb563a9022cff6f1b8930601acbe3649e0c4e7 +Author: Jens Axboe +Date: Thu Sep 15 10:25:48 2005 +0200 + + [PATCH] kernel: Update to 2.6.14-rc1-git + + Includes functional changes as well: + + - Move the BLK_TA_QUEUE trace to where it belongs, in __elv_add_request(). This + will catch internal queueing of drivers as well. + + - Add tracing of plug and unplug events. + +commit e3e74029e507ca489308137c8a32dd02c77295d4 +Author: Nathan Scott +Date: Thu Sep 15 09:31:12 2005 +0200 + + [PATCH] blktrace: better check for mounted relayfs + + Don't just check for the presence of the directory, also check whether + relayfs really is mounted there. + +commit 46e6968bd3371eddf19d4392c270ff5ea4cf5f3f +Author: Nathan Scott +Date: Thu Sep 15 09:29:24 2005 +0200 + + [PATCH] blkparse: add stopwatch functionality + + Like the blktrace -w option, but allow for defining an interval as well. + +commit ece238a66a0fa45b8e12c487a0b806204baab2bb +Author: Nathan Scott +Date: Wed Sep 14 19:32:27 2005 +0200 + + [PATCH] blktrace: add stopwatch functionality + + Enables you to stop the trace after a defined period has passed. + +commit 1e1c60f1486f9301d8065a21d1828a677143d2be +Author: Nathan Scott +Date: Wed Sep 14 19:30:49 2005 +0200 + + [PATCH] btrace: make the output easily parsably by default + + Drop CPU/device summary unless specifically requested. + +commit 1be606ce18a982e227148023f0b84c5c1806df3b +Author: Nathan Scott +Date: Wed Sep 14 19:30:14 2005 +0200 + + [PATCH] Add btrace to Makefile + +commit 244ad71db83599dedee8f684f0facef4a13c5630 +Author: Nathan Scott +Date: Wed Sep 14 19:29:40 2005 +0200 + + [PATCH] Add btrace script + + Using blktrace and blkparse in the "standard" piped setup is a little + cumbersome and not very intuitive, so add a script to do this automatically. + This is what users would expect. + +commit e7c9f3ffe9833eae21b2601d1cecb2e5d5c7f35f +Author: Nathan Scott +Date: Mon Sep 12 10:06:59 2005 +0200 + + [PATCH] Add support for tracing multiple devices + + This bumps the protocol number to 0x05, as device info was added to the + trace structure. + +commit 916b5501e4f8a38f0c2f23a6fcc1c1407f8ed532 +Author: Nathan Scott +Date: Mon Sep 12 09:21:00 2005 +0200 + + [PATCH] blkparse: Fix mistaken double rb lookup in find_track() + +commit 32fb90fe444885af9fbb73ae96ccd222c0e814bf +Author: Jens Axboe +Date: Fri Sep 9 21:10:58 2005 +0200 + + [PATCH] README: document the -t option + +commit 51128a28b99cef8d8b830dc36d9284f9bb85e0cf +Author: Jens Axboe +Date: Fri Sep 9 20:13:55 2005 +0200 + + [PATCH] blkparse: move magic check a little earlier in stdin read + + Otherwise we don't know if ->pdu_len and other fields are truly valid. + +commit c80c18a715f3dc08b544f1e44149cdb5bbd496cc +Author: Jens Axboe +Date: Fri Sep 9 17:07:17 2005 +0200 + + [PATCH] blkparse: fix quit on stdin reads + + If the blocking read returns 0, we really are done. So safely exit. + +commit b9d40d6fec97474cee9aa32cb484b9fd39765e35 +Author: Jens Axboe +Date: Fri Sep 9 16:28:14 2005 +0200 + + [PATCH] blkparse: fixup stats + + Pretty up the output a little, split into read/write. + +commit 50adc0ba13d62e5390385665fad94bf9a377a96c +Author: Jens Axboe +Date: Fri Sep 9 16:07:39 2005 +0200 + + [PATCH] blkparse: add per-process stats for longest waits + +commit 95c1501338b5db7492657c6fcc7b1084885ec18a +Author: Jens Axboe +Date: Fri Sep 9 15:56:02 2005 +0200 + + [PATCH] blkparse: Add request allocation -> queue time + +commit 555d3a315392ed38e4a2ed94d0bf3a658628a749 +Author: Jens Axboe +Date: Fri Sep 9 15:47:26 2005 +0200 + + [PATCH] blkparse: change formatting of output a little + +commit 0a94916b85d509cbad4f706a0501f05e046412e9 +Author: Jens Axboe +Date: Fri Sep 9 13:36:42 2005 +0200 + + [PATCH] blkparse: optimize the read_sort_events() memory allocations + + It's a little silly to malloc/free the buffer all the time, more practical + to let it settle on its own. + +commit c5404f89ca9217dd0824fd9f7824b60128bfc945 +Merge: 2e3e8de b570945 +Author: Jens Axboe +Date: Fri Sep 9 15:25:47 2005 +0200 + + Merge refs/heads/master from origin + +commit 2e3e8ded95e3b869e33397b11aec30df1dc186fb +Author: Jens Axboe +Date: Fri Sep 9 15:24:13 2005 +0200 + + [PATCH] blkparse: Display io queue/completion stats + + Display the time a request spent in the io scheduler and the time it took + that given request to be completed by the drive/driver. + +commit b5709454fe8d6d979f891353462665c8ebf227f5 +Author: Jens Axboe +Date: Fri Sep 9 12:30:33 2005 +0200 + + [PATCH] blkparse: fix leak in stdin read and sort + +commit 7997c5b00f5957c589e9c48ad940ccfc9cae3a74 +Author: Jens Axboe +Date: Fri Sep 9 12:04:17 2005 +0200 + + [PATCH] blkparse: add framework for tracking individual ios + +commit a66877e6348a381b143c5ac931e44b2289d32666 +Author: Jens Axboe +Date: Fri Sep 9 09:25:31 2005 +0200 + + [PATCH] blkparse: change output buffering + + If logging to stdout, only use a per-line buffer instead of fully buffered. + +commit 984c63b782195c6d8994569dfb9821a878ed80ca +Author: Nathan Scott +Date: Fri Sep 9 09:22:52 2005 +0200 + + [PATCH] blktrace: Fix whitespace in log_merge() + +commit 66efebf8c83faf70cdef59da095dca019309af1d +Author: Nathan Scott +Date: Fri Sep 9 09:22:13 2005 +0200 + + [PATCH] blktrace: remove unneeded strdup + +commit 11e510683253056b4ce94e84bdd9b0e0472c4fc9 +Author: Nathan Scott +Date: Fri Sep 9 09:20:26 2005 +0200 + + [PATCH] Fix dispatch reporting + +commit f8fd8985b0d2434eee5cc32471e9b5e533d19821 +Author: Nathan Scott +Date: Fri Sep 9 09:19:26 2005 +0200 + + [PATCH] Fix time typo, it's in nanoseconds + +commit 16ef714eb7c8f14abe5706e24d1492f70c610044 +Author: Jens Axboe +Date: Fri Sep 9 09:18:49 2005 +0200 + + [PATCH] Use __WORDSIZE in hash + + Originally fron Nathan, improved to remove 'bpl' as well. + +commit 152f6476e62fa4f754fb8d60fe86a254fa3675cb +Author: Jens Axboe +Date: Thu Sep 8 20:15:18 2005 +0200 + + [PATCH] blkparse: Add per-process stats and fix output + + Add the option (-s) to display per-process read/write stats as well as + the per-processor and total output. At the same time, fix the output so + it's a single file instead of per-processor (doesn't make sense here) and + put everything in the output file given with -o. If no output file is given, + stdout is used. + +commit 6432fd983c61b4f2992daa8d8830ba6a181d7aa4 +Author: Jens Axboe +Date: Thu Sep 8 11:34:26 2005 +0200 + + [PATCH] Update README with info about the snapshots + +commit 0e3ae6cefeae1c5ba8043c623f0901ab49fb6ebe +Merge: 76c5a9c 9267405 +Author: Jens Axboe +Date: Thu Sep 8 08:37:57 2005 +0200 + + Merge refs/heads/master from origin + +commit 76c5a9c3ebaa11a8a9d408e9b0da878c7feaee6d +Author: Jens Axboe +Date: Thu Sep 8 08:37:33 2005 +0200 + + [PATCH] Add patch for Linus' kernel + + relayfs has been merged now, so it's easier to provide a mainline patch as well. + +commit 9267405a1bb3b3d8da17d8cdb37dd6c74afcf0b5 +Author: Jens Axboe +Date: Wed Sep 7 16:17:07 2005 +0200 + + [PATCH] Fix unaligned access on pthread_join(..., &int) + +commit 2ff323b0972c257e1a3e384c6445f8bc007a963c +Author: Jens Axboe +Date: Wed Sep 7 13:05:20 2005 +0200 + + [PATCH] Misc stdin fixes + + - Allow skipping in the returned stdin data, otherwise I've noticed loss + of as many as 'nr' events when reading from the network. + + - Use realloc() in resize_buffers() + + - Detect sort_entries() errors in stdin read + +commit d69db225cec28f8f03331b19b1264e7326a5ead8 +Author: Jens Axboe +Date: Tue Sep 6 14:52:04 2005 +0200 + + [PATCH] Set locale in blkparse + + Otherwise the 1000 numerator wont work. + +commit ebc37a0bca13f13ca8ed1f568b133a3b69889708 +Author: Jens Axboe +Date: Tue Sep 6 14:49:51 2005 +0200 + + [PATCH] Correct netcat examples + +commit 69e65a9e13f95201190a2d82c6fe327b708757df +Author: Jens Axboe +Date: Tue Sep 6 14:46:45 2005 +0200 + + [PATCH] Minimize output fd lock time + + Extract both trace and payload before acquiring the output descriptor lock. + The writes should take very shortly thus minimizing the hold time, the read + may take much longer. + +commit 7425d456c54104620eaa7083dedfb7b3db46015b +Author: Jens Axboe +Date: Tue Sep 6 14:10:33 2005 +0200 + + [PATCH] Unify error returns + + It's all a mess of dupes now anyway. + +commit d000992588451e1067057ab94814b9cc1671c1e9 +Author: Jens Axboe +Date: Tue Sep 6 09:34:28 2005 +0200 + + [PATCH] Update documentation + + Some of it was a little out of sync with reality. Add an example for live + tracing, locally as well as over the network. + +commit 79f19470a368c51828f02c82419509280d17c6d0 +Author: Jens Axboe +Date: Tue Sep 6 09:09:52 2005 +0200 + + [PATCH] Add option to limit rb batching for live traces + + Right now, blkparse keeps going until there's a delay in events read. + Add an option to cap the number of pending entries (-b) and default to + 1024 events. + +commit e67265ea59442eacc5d1a09e359e07013e489f5e +Author: Jens Axboe +Date: Tue Sep 6 09:01:30 2005 +0200 + + [PATCH] Missed the ->device in endianness conversions + +commit 7b41ec18f814b739107cf7cc3f879b44b94129ab +Author: Jens Axboe +Date: Tue Sep 6 09:00:17 2005 +0200 + + [PATCH] Update kernel patch to revision 4 protocol + +commit b704c63702e67ec266b862b55b71c6f7baad91e4 +Author: Jens Axboe +Date: Tue Sep 6 08:57:57 2005 +0200 + + [PATCH] Backout the ->device change from revision 4 + +commit ee1f4158fd56744c17985c7d7dbfcb37f50778e9 +Author: Nathan Scott +Date: Tue Sep 6 08:53:36 2005 +0200 + + [PATCH] allow devices as arguments (as well as via -d option) + +commit 0a6b8fc4d6b5225ee5824ddb15b73d0cf04b9164 +Author: Nathan Scott +Date: Tue Sep 6 08:52:44 2005 +0200 + + [PATCH] Pretty up output on large SMP machines + +commit 35f85d4d877995298d0747361fcf1124a160d79b +Author: Nathan Scott +Date: Tue Sep 6 08:51:55 2005 +0200 + + [PATCH] Missing colon in some output + +commit c499bf388206580d6411010d3d45dafff605f115 +Author: Jens Axboe +Date: Tue Sep 6 08:51:15 2005 +0200 + + [PATCH] Fix per_cpu_info->cpu setting + + Not all traces are from CPU 0! Noticed by Nathan. + +commit 2955af9da365042678a1afcb9dba97ab4fcec405 +Author: Nathan Scott +Date: Tue Sep 6 08:49:15 2005 +0200 + + [PATCH] Dump command process names, they are available now + +commit 654aaa528674a4e849337a89b820027a67d74bfb +Author: Nathan Scott +Date: Tue Sep 6 08:48:11 2005 +0200 + + [PATCH] Bump ->cpu to 32-bits for alignment and add process name + +commit 72ca88010f8be84b601024d5ab1a07a218cdbb0a +Author: Nathan Scott +Date: Tue Sep 6 08:46:31 2005 +0200 + + [PATCH] Fix some wierd pthread/atexit interactions + +commit 76718bcd6dec79f9a7c7454b927a190a11529f75 +Author: Jens Axboe +Date: Tue Sep 6 08:25:57 2005 +0200 + + [PATCH] Forgot to update last file on checkin + +commit 8b8f203acdcd1e2769b672eae78762043b4aba30 +Author: Nathan Scott +Date: Tue Sep 6 08:23:03 2005 +0200 + + [PATHC] Plug some more stoptrace holes + + I came across some more places where we can bail out of blktrace while + accidentally leaving the bdev trace running... this patch fixes them. + +commit a718bd37aff8b04363a1b044185a29d66fb63a1c +Author: Nathan Scott +Date: Tue Sep 6 08:21:43 2005 +0200 + + [PATCH] Make per_cpu_info[] dynamically allocated and extendable + +commit fd613fc20b171bc9adc8f130abbed9c1199259f9 +Author: Nathan Scott +Date: Tue Sep 6 08:05:07 2005 +0200 + + [PATCH] Missing ->cpu endianness conversion + +commit 1f79c4a01e9bd3261529c83bc41e86e40c4321e5 +Author: Jens Axboe +Date: Mon Sep 5 19:50:29 2005 +0200 + + [PATCH] Misc error handling and style fixes + +commit 33b560191981ef2669d6a5d36a870c29ad23fbc4 +Author: Jens Axboe +Date: Mon Sep 5 16:35:10 2005 +0200 + + [PATCH] Move open of logging file + + It should not be in the sorting, move it to the dumping place instead. + +commit bc39777ce25bb0c8769777deb074dc37696af5e8 +Author: Jens Axboe +Date: Mon Sep 5 16:01:46 2005 +0200 + + [PATCH] Add support for killing running trace + + Sometimes if the program dies, it's really annoying to not be able to + terminate a running trace. Add option -k to manually kill such a trace. + +commit 412819cec12849b337be4dd4601fd1222c3196ab +Author: Jens Axboe +Date: Mon Sep 5 15:51:33 2005 +0200 + + [PATCH] Read and sort events in chunks from stdin + + This should improve performance of the piped live tracing and at the same + time add support for sorting of incoming events at least in batches. + +commit 75da3c6af9c3445e4929902310546c7083415bb7 +Author: Nathan Scott +Date: Mon Sep 5 13:12:48 2005 +0200 + + [PATCH] Better strcmp fix + + I looked at that strcmp memleak again for some reason, and wondered why not + use strcasecmp instead to further simplify things? + +commit d5396421d8e54ccdd14f9e35c4bfd50864c61397 +Author: Jens Axboe +Date: Mon Sep 5 13:09:45 2005 +0200 + + [PATCH] Support for live tracing + + This patch adds support for doing live traces again, by allowing pipe of + data from blktrace to blkparse. A structural change was needed in blk_io_trace + to pass the CPU number info directly instead of inferring it from the filename. + + To parse realtime: + + $ blktrace -d /dev/xxx -o - | blkparse -i - + +commit 5c86134eb191e261cc01a4dfdfb06290b6c50488 +Author: Jens Axboe +Date: Sun Sep 4 17:37:06 2005 +0200 + + [PATCH] Style fixups + + Alan seems to be fond of replacing tabs with space.s + +commit 3a9995b97e67c406721d6b943ce216afa6610729 +Author: Jens Axboe +Date: Sun Sep 4 17:31:23 2005 +0200 + + [PATCH] Stop threads before stopping trace + + Otherwise the BLKSTOPTRACE will be called with the relayfs fd still being + open, and the directory wont be removed then causing subsequent + traces to fail. + +commit befe855d5f220b506a78049cb30ed54273262458 +Author: Jens Axboe +Date: Fri Sep 2 14:26:24 2005 +0200 + + [PATCH] Update kernel patch to match new relayfs layout + + Lay out the relayfs files a little nicer, so it's not so confusing to look + at. + + Original patch from Nathan Scott + +commit 707b09141e49ae9de29b5358f6f5a0fd09ce79af +Author: Jens Axboe +Date: Fri Sep 2 13:47:23 2005 +0200 + + [PATCH] Fix the stop trace logic to not attempt to stop it twice + +commit b9d4294e6519af66eda35fc438cd94db96353190 +Author: Jens Axboe +Date: Fri Sep 2 13:17:03 2005 +0200 + + [PATCH] blktrace fixes + + - Threads don't close the trace fd + - Switch to newer /relay/block//trace naming + +commit 7c516d8829f3ce02d6f698dd17bb25ba4f78ef36 +Author: Jens Axboe +Date: Fri Sep 2 10:57:07 2005 +0200 + + [PATCH] Kill silly changelog, it's too bothersome + +commit 9cc38a45c6dc4913c897b145be03d68211aeed15 +Author: Nathan Scott +Date: Fri Sep 2 10:56:20 2005 +0200 + + [PATCH] Fix usage of uninitialized array in pdu extraction + +commit 56bdefbb1021498ee04bcb9d3c0bda0367175a73 +Author: Nathan Scott +Date: Fri Sep 2 10:54:37 2005 +0200 + + [PATCH] Fix memory leak in blktrace arg parsing + +commit 18f9450857ab87ff38efecf2bb805661cf33a9a2 +Author: Nathan Scott +Date: Fri Sep 2 10:52:53 2005 +0200 + + [PATCH] blktrace-fix-double-close + + stop_trace() has already closed the devfd, don't do so again. + +commit 5270dddd203006f3bb0be7c0f1949a16758dce9a +Author: Jens Axboe +Date: Fri Sep 2 10:51:59 2005 +0200 + + [PATCH] Remember to close devfd if start_trace() fails + +commit 9eb5b5675b45cc4f76d51e6fafe3b83be0e09dc5 +Author: Nathan Scott +Date: Fri Sep 2 10:50:00 2005 +0200 + + [PATCH] Make relayfs mount path an option + + Provide an option allowing blktrace to find relayfs at mount + points other than /relay (keeps /relay as the default though, + of course). + +commit bf4df00ff8c3132c594416cd588441c7ba4fc9c4 +Author: Jens Axboe +Date: Thu Sep 1 17:25:00 2005 +0200 + + [PATCH] Move BLK_TA_QUEUE trace + + It makes more sense to do it after request allocation. + +commit 830fd65c783b5548d1ef736b1a2c0640a281a67d +Author: Jens Axboe +Date: Thu Sep 1 16:43:36 2005 +0200 + + [PATCH] Always make sure we stop the trace properly + +commit 4fa2da54f4012c75309508b1e596e8029ba14c94 +Author: Jens Axboe +Date: Thu Sep 1 16:43:04 2005 +0200 + + [PATCH] Fix oops on starting trace on stacked devices (such as md, dm, etc) + +commit cfab07eb044128dac7da8ada10c5fb6b94cbb357 +Author: Alan D. Brunelle +Date: Thu Sep 1 15:44:54 2005 +0200 + + [PATCH] Timestamp updates + + - Changed output format to seconds.nanoseconds (makes it easier on the eyes) + - Made a single time stamp reference point (instead of a per-cpu reference + point) + +commit 1c066f23e412a67f8f958447b80eb83f75557bdb +Author: Jens Axboe +Date: Thu Sep 1 15:43:12 2005 +0200 + + [PATCH] Sync inter processor time + + Calibrate the time offsets of each processor in an SMP system on boot time + to attempt to keep the timestamps offsets in check. + +commit 56c7d54ddfb807b769bf42d5b6ba4d34283f6cc0 +Author: Jens Axboe +Date: Thu Sep 1 13:11:25 2005 +0200 + + [PATCH] Update kernel patch to 2.6.13-mm1 + +commit d956a2cd0923706f6f9965156d48e6143a54d6e7 +Author: Jens Axboe +Date: Wed Aug 31 09:41:36 2005 +0200 + + [PATCH] Add license and copyright information + +commit d39c04ca13e3bbc5e47107a8428e348414a65b5c +Author: Alan D. Brunelle +Date: Wed Aug 31 08:49:05 2005 +0200 + + [PATCH] Add argument parsing for blktrace + + This patch adds the option of specifying the trace mask for blktrace, so you + can register an interest in only certain events. + +commit 18ada3d4deee8a58e56d3b8ee1dbec67815b77d8 +Author: Jens Axboe +Date: Mon Aug 29 15:49:05 2005 +0200 + + [PATCH] blktrace: fix payload tracing + + Endianness conversion was done before reading ->pdu_len, thus screwing it + up and hanging forever waiting for data. + +commit afd2d7adffbd1b556fde00759bc48163bb0f2170 +Author: root +Date: Mon Aug 29 14:45:44 2005 +0200 + + [PATCH] stats update + + Split stats into per-cpu and don't display empty stats + +commit 5c017e4b313913de627da5b13977b26c11ec3261 +Author: Jens Axboe +Date: Mon Aug 29 14:00:50 2005 +0200 + + [PATCH] Split output stats into per-cpu + +commit df0fae6de00f7dfef7b6c840e0ab42e18be03cad +Author: Jens Axboe +Date: Mon Aug 29 13:27:35 2005 +0200 + + [PATCH] blkparse: Don't clear rb_root in sort_entries() + + It will override the entries already sorted from the previous CPUs. + +commit 6fe4709e97f29162e075f029a2ce6a7c4a444ef1 +Author: Jens Axboe +Date: Mon Aug 29 09:45:41 2005 +0200 + + [PATCH] Always store trace data in big endian format + +commit 66fa7233b208860dae3c4ce7be1f5c1e93078720 +Author: Jens Axboe +Date: Mon Aug 29 10:14:11 2005 +0200 + + [PATCH] Don't overwrite magic in trace + + Leave the _dat file traces completely intact, get the CPU number from the + file in blkparse instead. Without this change, it's impossible for other + users to verify the sanity and version of a trace. + +commit 87b7277795788360348776ac0495f88fdc44fd92 +Author: Jens Axboe +Date: Mon Aug 29 08:45:19 2005 +0200 + + - Improved error handling + - Remove _dat files, include the payload in _out + - Support for payload > 64 bytes + - Add install target + - Fix RELAYFS Kconfig selection (kernel patch) + +commit 9a5f57019f49e6a3f104c129614082c4255d51b3 +Author: Jens Axboe +Date: Sat Aug 27 14:17:09 2005 +0200 + + Changelog + +commit 3aabcd8964b960fa68f56980a4b9467efe32792e +Author: Jens Axboe +Date: Sat Aug 27 14:16:56 2005 +0200 + + Various cleanups and killing unused variables + +commit 8fc0abbc65934154363812eb8f7b400a73441905 +Author: Jens Axboe +Date: Sat Aug 27 09:38:00 2005 +0200 + + Fixed the sorting and parsing of traces with payloads + +commit ba46ec782eb2db0786346f169cdcaf9cab118ece +Author: Jens Axboe +Date: Fri Aug 26 14:38:26 2005 +0200 + + blkparse doesn't take a NR_CPU argument anymore + +commit 5a2341c026fd757fe5b298638689aa955379aca4 +Author: Jens Axboe +Date: Fri Aug 26 14:21:40 2005 +0200 + + Add the required relayfs-read update patch as well + +commit c1bd9d09a97e8937ed0068ce2f75902cf882907e +Author: Jens Axboe +Date: Fri Aug 26 14:19:57 2005 +0200 + + Update README and add kernel patch + +commit 9c2cdf16ca3f904e7e1b99d77486af2d6d74d7ac +Author: Jens Axboe +Date: Fri Aug 26 14:13:28 2005 +0200 + + Fix typo in last fix + +commit 96b34e39a6909bf2df21fe3dd28d8cdcfed21578 +Author: Jens Axboe +Date: Fri Aug 26 14:12:09 2005 +0200 + + sprintf -> snprintf + +commit fd92da249ee5a20144e20f1f08fb0df70164951d +Author: Jens Axboe +Date: Fri Aug 26 14:06:49 2005 +0200 + + Increase MAX_CPUS to 512. Use the full magic number for cpu number, not + just the bottom 8 bits. + +commit d0ca268b05b1f0135e6b0d39da6ef8101fe686d6 +Author: Jens Axboe +Date: Fri Aug 26 13:49:39 2005 +0200 + + Initial commit --- blktrace-1.0.1.orig/debian/control +++ blktrace-1.0.1/debian/control @@ -0,0 +1,38 @@ +Source: blktrace +Section: utils +Priority: extra +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Bas Zoetekouw +Build-Depends: + debhelper (>=5), + patch, + ghostscript, + libaio-dev, + texlive-latex-base, + texlive-latex-extra +Standards-Version: 3.8.2 +Homepage: http://brick.kernel.dk/snaps/ + +Package: blktrace +Architecture: any +Depends: + ${shlibs:Depends}, + python, + lsb-base +Suggests: gnuplot-x11 +Description: utilities for block layer IO tracing + blktrace is a block layer IO tracing mechanism which provides detailed + information about request queue operations up to user space. There are + three major components that are provided: + . + blktrace: A utility which transfers event traces from the kernel + into either long-term on-disk storage, or provides direct formatted + output (via blkparse). + . + blkparse: A utility which formats events stored in files, or when + run in live mode directly outputs data collected by blktrace. + . + Running blktrace requires a patch to the Linux kernel which includes the + kernel event logging interfaces, and patches to areas within the block + layer to emit event traces. These patches have been included in the main + Linux kernel since 2.6.17-rc1, and the default Debian kernel since 2.6.23. --- blktrace-1.0.1.orig/debian/blktrace.mountdebugfs.init +++ blktrace-1.0.1/debian/blktrace.mountdebugfs.init @@ -0,0 +1,140 @@ +#! /bin/sh +# blktrace Mount debugfs on boot +# Copyright (c) 2008 by Bas Zoetekouw. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted onder terms of the GPL, version 2. + +### BEGIN INIT INFO +# Provides: mountdebugfs +# Required-Start: $local_fs mountkernfs +# Required-Stop: $local_fs +# Should-Start: +# Should-Stop: +# Default-Start: S 1 2 3 4 5 +# Default-Stop: 0 6 +# Short-Description: Mount debugfs on /sys/kernel/debug +### END INIT INFO + +# load LSB functions (log_success_msg etc) +. /lib/lsb/init-functions + +# main mount point +mount_dir=/sys/kernel/debug + +# check if /proc/mounts exists +if ! [ -r /proc/mounts ] +then + log_failure_msg "Failed! Couldn't read /proc/mounts." + exit 1 +fi + +# no need to do anything if blktrace isn't installed +if ! [ -x /usr/sbin/blktrace ] +then + exit 0 +fi + +# find where (if anywhere) debugfs is mounted +mountpoints=$( + awk '$3 == "debugfs" { print $2 }' < /proc/mounts +) + +mount_debugfs () +{ + # check if any of the current mountpoints is /sys/kernel/debug + found_syskerneldebug=0 + for d in $mountpoints + do + if [ $d = $mount_dir ] + then + found_syskerneldebug=1 + fi + done + if [ $found_syskerneldebug -eq 1 ] + then + log_success_msg "Debugfs is already mounted on $mount_dir; nothing to do"; + exit 0 + fi + + # check that debugfs is supported by the kernel + if ! [ $( awk -F\\t '$2 == "debugfs" { print $2 }' < /proc/filesystems ) ] + then + log_failure_msg "Can't mount debugfs: not supported by your kernel" + exit 0 + fi + + # check that /sys/kernel exists + the_dir=$( dirname $mount_dir ) + if ! [ -d $the_dir ] + then + log_failure_msg "Can't mount debugfs on $mountdir: $the_dir doesn't exist." + exit 1 + fi + + # do the actual mounting + if mount -t debugfs debugfs $mount_dir + then + log_success_msg "Mounted debugfs on $mount_dir" + else + log_failure_msg "Couldn't mount debugfs on $mount_dir" + exit 1 + fi + +} + +umount_debugfs () +{ + if [ $mountpoints ] + then + for d in $mountpoints + do + if [ $d = $mount_dir ] + then + if umount $d + then + log_success_msg "Unmounted debugfs from $d" + else + log_failure_msg "Couln't unmount debugfs from $d" + fi + fi + done + else + log_success_msg "Debugfs is not mounted; nothing to do." + fi +} + +show_status () +{ + if [ $mountpoints ] + then + for d in $mountpoints + do + log_success_msg "Debugfs is mounted on $d" + done + else + log_success_msg "Debugfs is not mounted" + fi +} + + +case "$1" in + start) + mount_debugfs + ;; + stop) + umount_debugfs + ;; + restart|reload|force-reload) + umount_debugfs + exec $0 start + ;; + status) + show_status + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload|status}" + exit 1 + ;; +esac + +exit 0 --- blktrace-1.0.1.orig/debian/compat +++ blktrace-1.0.1/debian/compat @@ -0,0 +1 @@ +5 --- blktrace-1.0.1.orig/debian/lndir.sh +++ blktrace-1.0.1/debian/lndir.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# very small shellscript that more or less implements the lndir of xutils-dev +# it recursively links all files from the directory specified in the first +# argument to the directory in the second argument; + +# it probably won't work for exotic filenames + +set -e + +# need 2 arguments +test -n "$1" || exit -1 +test -n "$2" || exit -1 + +FROM=$1 +TO=$2 + +# check that both arguments are directories +test -d $FROM || exit -1 +test -d $TO || exit -1 + +# convert the dirs to absolute pathnames +FROM=$( cd $FROM && pwd ) +TO=$( cd $TO && pwd ) + +# check that the dirs are not the smae +test "$FROM" = "$TO" && exit -1 + +# make a directory structure +( cd $FROM && find -type d \! -name '.' \! -name '..' -print0 ) | ( cd $TO && xargs -0 mkdir ) + +# make links to regular files +( cd $FROM && find -type f -print ) | \ +while read file; do + #echo $file + ln -sf $FROM/$file $TO/$file +done; + +exit 0 --- blktrace-1.0.1.orig/debian/rules +++ blktrace-1.0.1/debian/rules @@ -0,0 +1,152 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE ) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE ) +DEB_BUILD_ARCH_OS ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS ) +ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH ) + + +CFLAGS = -Wall -Wextra -Wno-shadow -g +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +export CFLAGS + +TOPDIR:=$(shell pwd) + +PKGNAME :=$(word 2,$(shell dpkg-parsechangelog | grep ^Source ) ) +FULLVERSION:=$(word 2,$(shell dpkg-parsechangelog | grep ^Version ) ) +UPSTREAMVER:=$(shell echo $(FULLVERSION) | sed 's/-[0-9.]\+$$//' | sed 's/^0~//' ) + +BUILDDIR :=build/ + + +checklinux: check-stamp +check-stamp: +ifeq ($(DEB_BUILD_ARCH_OS),linux) + # Building for a Linux-type OS, everything's fine + # + # variables are: + # TOPDIR $(TOPDIR) + # PKGNAME $(PKGNAME) + # FULLVERSION $(FULLVERSION) + # UPSTREAMVER $(UPSTREAMVER) + # SRCARCHIVE $(SRCARCHIVE) + # UNPACKDIR $(UNPACKDIR) + # BUILDDIRBASE $(BUILDDIRBASE) + # BUILDDIR $(BUILDDIR) + touch check-stamp +else + #################################################### + ## Oops, it seems you are trying to build blkutils + ## for a non-Linux OS `$(DEB_BUILD_ARCH_OS)'. + ## This is not supported. + ## Please file a bug if you think this is wrong. + #################################################### + false +endif + +# not really unpack, but just links everything in build/ +unpack: $(BUILDDIR)/COPYING +$(BUILDDIR)/COPYING: + # unpack + [ -d "$(BUILDDIR)" ] || mkdir "$(BUILDDIR)" + /bin/sh debian/lndir.sh . $(BUILDDIR) + rm -r $(BUILDDIR)/build + rm -r $(BUILDDIR)/debian + +build: build-stamp +build-stamp: check-stamp $(BUILDDIR)/COPYING + # VERSION=$(VERSION) + dh_testdir + + # patch + for p in $(wildcard $(TOPDIR)/debian/patches/*.patch ); do \ + echo "# applying patch $$p"; \ + cd $(BUILDDIR) && patch -p1 < $$p && \ + echo "# OK" && \ + cd $(TOPDIR); \ + done + + # build + cd $(BUILDDIR) && make CFLAGS="$(CFLAGS)" all docs + + touch build-stamp + +clean: + dh_testdir + -rm -rf $(BUILDDIR) + -rm -f *-stamp + dh_clean + +install: build-stamp install-stamp +install-stamp: + dh_testdir + + dh_clean -k + + dh_installdirs + + cd $(BUILDDIR) && \ + $(MAKE) install \ + prefix=/usr \ + mandir=\$${prefix}/share/man \ + DESTDIR=$(TOPDIR)/debian/$(PKGNAME) + + # install the docs + install -m0644 $(BUILDDIR)/doc/blktrace.pdf \ + $(TOPDIR)/debian/$(PKGNAME)/usr/share/doc/blktrace + install -m0644 $(BUILDDIR)/btt/doc/btt.pdf \ + $(TOPDIR)/debian/$(PKGNAME)/usr/share/doc/blktrace + install -m0644 $(BUILDDIR)/btreplay/doc/btreplay.pdf \ + $(TOPDIR)/debian/$(PKGNAME)/usr/share/doc/blktrace + + # install an upstream changelog + # ! We're not built from a git snapsht atm ! + #git log > $(TOPDIR)/debian/$(PKGNAME)/usr/share/doc/blktrace/changelog + #chmod 644 $(TOPDIR)/debian/$(PKGNAME)/usr/share/doc/blktrace/changelog + + # move admin-only stuff to /usr/sbin + cd $(TOPDIR)/debian/$(PKGNAME) && \ + mv usr/bin/btrace usr/sbin/ && \ + mv usr/bin/blktrace usr/sbin/ && \ + mv usr/bin/btreplay usr/sbin/ && \ + mv usr/bin/btrecord usr/sbin/ + + # fix name of bno_plot + cd $(TOPDIR)/debian/$(PKGNAME) && \ + mv usr/bin/bno_plot.py usr/bin/bno_plot + + touch install-stamp + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installinit --name=mountdebugfs --no-restart-on-upgrade \ + --update-rcd-params="start 90 S . stop 21 0 6 ." + dh_link + dh_strip + dh_compress -X.pdf + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install unpack checklinux --- blktrace-1.0.1.orig/debian/copyright +++ blktrace-1.0.1/debian/copyright @@ -0,0 +1,57 @@ +This package was debianized by Bas Zoetekouw on +Sat Dec 9 16:58:09 CET 2006 + +It was downloaded from http://brick.kernel.dk/snaps/ + +dUpstream Authors: + - Jens Axboe + - Alan D. Brunelle + - Nathan Scott + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +On Debian systems, the complete text of the GNU General Public License can be +found in /usr/share/common-licenses/GPL file. + +Upstream Authors: + * Jens Axboe (initial version and kernel support) + * Alan D. Brunelle (threading, splitup into + separate programs, documentation) + * Nathan Scott (bug fixes, process names, multiple + devices) + +Unless specified below below, the individual source files are copyrighted by +the principle authors mentioned above. + +You are free to distribute and modify this software under the terms of +the GNU General Public License, version 2.0. On Debian systems, the +complete text of the GNU General Public License can be found in +/usr/share/common-licenses/GPL file. + +The file jhash.h is copyrighted (C) 1996 by Bob Jenkins +. His original version is available in the +public domain. It was adapted for use in the Linux kernel by David S. Miller +. The current version is therefore available under the GNU +General Public License, version 2. + +The files rbtree.h and rbtree.c are copyrighted (C) 1999 Andrea Arcangeli + and (C) 2002 David Woodhouse . +These files are licensed under the GPL, version 2 or later. + +The manual pages blkparse.1, blkrawverify.1, blktrace.8, btrace.8, btt.1 and +verify_blkparse.1 are copyrighted (C) 2005, 2006 by Alan D. Brunelle + and (C) 2006 by Bas Zoetekouw . They +were created from the upstream documentation for use with the Debian operating +system, but mey be freely used, distributed and modified by other under the +terms of the GNU General Public License, Version 2. + +The packaging of this program (including all scripts and control files in the +debian/ directory, except for the manual pages as specified above) are (C) 2006 +Bas Zoetekouw , and may be used, modified and redistributed +under the terms of the 3-clause BSD license, which on Debian systems can be +found in the /usr/share/common-licenses/BSD file. + + --- blktrace-1.0.1.orig/debian/dirs +++ blktrace-1.0.1/debian/dirs @@ -0,0 +1,3 @@ +usr/bin +usr/sbin +usr/share/doc/blktrace --- blktrace-1.0.1.orig/debian/README.Debian +++ blktrace-1.0.1/debian/README.Debian @@ -0,0 +1,21 @@ +blktrace +======== + +This package contains two components: + - blktrace, the utility to generate traces of a block device + - several utilities (blkrawverify, verify_blkparse, blkparse, btt) to + translate and analyse the data that was generated by blktrace + +The blktrace utility requires root permission, kernel support (a kernel patch +for kernels older than 2.6.17-rc1, and CONFIG_BLK_DEV_IO_TRACE enabled in the +kernel configuration), and a mounted debugfs (mount -t debugfs debugfs +/sys/kernel/debug). +Note specifically that the default Debian kernels prior to 2.6.23-1 do not +have CONFIG_BLK_DEV_IO_TRACE set; you will therefore either need to upgrade to +one of the latest debian kernels, or you'll have to to build your own custom +kernel to use the IO trace functionality. Also, the debugfs is not mounted by +default. + +The analysis utilities do not require anything but an tracefile that was +generated by blktrace. + --- blktrace-1.0.1.orig/debian/watch +++ blktrace-1.0.1/debian/watch @@ -0,0 +1,5 @@ +version=3 +opts=dversionmangle=s/^[0-9.]+\+// \ +http://brick.kernel.dk/snaps/ \ + blktrace-((?!git-latest).+?)\.tar\.gz \ + debian --- blktrace-1.0.1.orig/debian/changelog +++ blktrace-1.0.1/debian/changelog @@ -0,0 +1,177 @@ +blktrace (1.0.1-2ubuntu1) natty; urgency=low + + * New patch 20_no-add-needed.patch: add missing library to fix linking + failure. + + -- Ilya Barygin Fri, 07 Jan 2011 00:18:45 +0300 + +blktrace (1.0.1-2) unstable; urgency=low + + * Move package from optional to extras because of its dependency on libaoi + + -- Bas Zoetekouw Tue, 30 Jun 2009 19:01:26 +0200 + +blktrace (1.0.1-1) unstable; urgency=low + + * New upstream release + - patches 16_bnoplot_man.patch, 17_btrecord_linking.patch, and + 18_man_section.patch have been merged upstream. + * This is a real release, not a git snapshot, we we're not calling git-log + at build any more, so remove build-dep on git-core (closes: #516062) + * Added an upstream changelog (git log output) + * Bumped Standards-version to 3.8.2: + - Added upstream Homepage to control file + * Replace build-dep on gs-gpl|gs by ghostscript + + -- Bas Zoetekouw Mon, 29 Jun 2009 16:47:14 +0200 + +blktrace (0.99.3+git-20080213182518-1) unstable; urgency=low + + * New upstream release: + - Added man pages for btreplay and btrecord + [obsoletes 15_btreplay_man.patch] + - Separated out g/i/m trace handling and DM-device calculations + - Fix Q counts during requeue and merges + - Fixed excess bucket information for unplug histograms + - Fixed double inforation about timeouts + - Added new IOs per unplug table + - Added bno_plot plot utility + - Fix iostat interval default + - Fix missing cleanup calls + - Fixed IOPs in btt left over at end of run + * Renamed bno_plot.py to bno_plot + * Added suggests on gnuplot-x11 (bno_plot needs it) + * Added suggests on python (bno_plot needs it) + * Added man page for bno_plot + [16_bnoplot_man.patch] + * Added information about which Debian kernels have CONFIG_BLK_DEV_IO_TRACE + set to the long description. + * Automatically mount debugfs on boot (add init script) + * Depend on lsb-base (for init script functions) + * Don't link btrecord against libaio and librt + * Increase Standards-Version to 3.7.3 (no changes necessary) + + + -- Bas Zoetekouw Fri, 22 Feb 2008 11:08:38 +0100 + +blktrace (0.99.3+git-20071207142532-1) unstable; urgency=low + + * New upstream release: + - Fix compilation on m68k + [obsoletes 13_m68k_barrier.patch] + - Sync btt manpages with TeX docs + [obsoletes 14_btt_man.patch] + - Add btrecord and btreplay programs + - Fix warnings from gcc-4.2.1 + - Fix several segfaults + - Added O_NOATIME to replay file + - Fixed REMAP to update Q2A & fixed #Q calculations + - Added active requests at Q information. + - memset() must be done after NULL check + - Added in Q2D histograms (requires -A) + - Remove strange make dependency on "-lpthread" + * Follow upstream version numbering + * Updated debian/watch to follow new version numbering + * Added manpages for btrecord and btreplay + [15_btreplay_man.patch] + * Mention enabling of CONFIG_BLK_DEV_IO_TRACE in linux-2.6/2.6.23-1 in + README.Debian + * Remove obsolete build-dependency on linux-kernel-headers + * Add build-dependency on libaio-dev + + -- Bas Zoetekouw Sat, 08 Dec 2007 13:32:55 +0100 + +blktrace (0~git-20070910192508-1) unstable; urgency=low + + * New upstream release: + - Added man pages + - Misc minor fixes to Makefiles + [obsoletes 12_Makefile_INCS.patch] + - Major revamping of btt: + - major performance boost + - added Q2Q seek distance feature + * Merge changes in btt man page from version 0~git-20070718142546-1 + [14_btt_man.patch] + * Change compiler flags to "-Wall -Wextra -Wno-shadow" + * Fix installation path for man pages + + -- Bas Zoetekouw Sat, 29 Sep 2007 18:43:26 +0200 + +blktrace (0~git-20070718142546-2) unstable; urgency=low + + * Fix detection of m68k in barrier.h [13_m68k_barrier.patch] + + -- Bas Zoetekouw Sat, 04 Aug 2007 12:03:44 +0200 + +blktrace (0~git-20070718142546-1) unstable; urgency=low + + * New upstream release: + - Added store barrier defines for a bunch of archs + - Fixed several memleaks + - Added seek absolute option + - Added block number dumping + - Output combined seeks in addition to read and write seeks + - Added in unplug IO count histogram + - Added-r support for btrace + - Fix crash with '-' stdin input + - Fix queued vs dispatch numbers + - Account size of merges + * Remove 11_barrier_wmb.patch, which was merged upstream + * Install an upstream changelog (and build-depend on git-core to create it) + * Fixed btt man page wrt changes in upstream source + * Fixed debian-watch to not trigger on blktrace-git-latest.tar.gz (for real, + this time) + * Fixed the Makesfile for btt to work with externally set $CFLAGS + (12_Makefile_INCS.patch) + * Include the btt users guide btt.pdf + * Don't compress included pdfs + * Remove dependency on tetex-bin and added dependencies on + texlive-latex-extra and gs-gpl|gs to fix the doc building + + -- Bas Zoetekouw Sun, 22 Jul 2007 13:49:41 +0200 + +blktrace (0~git-20070306202522-1) unstable; urgency=low + + * New upstream release + * Fixed man page wrt changes in upstream source and fix spelling errors + * Fixed debian-watch to not trigger on blktrace-git-latest.tar.gz + * Upload to unstable, as the freeze is over + + -- Bas Zoetekouw Fri, 06 Apr 2007 15:20:22 +0200 + +blktrace (0~git-20061221162513-3) experimental; urgency=low + + * New fix for the store_barier() issue; we are now using our own header with + just the wmb() macros copied from the kernel source. + Thanks to p2-mate and pbrook for helping me fix this! + (closes: #406004, #406821) + * Fixed bashism in debian/rules + + -- Bas Zoetekouw Mon, 29 Jan 2007 22:08:53 +0100 + +blktrace (0~git-20061221162513-2) experimental; urgency=low + + * Fixed a typo in the description (Thanks to Loïc for noticing!) + (closes: #405935) + * Rather than defining our own store_barrier() for each architecture, just + use wmb() from . This fixes build problems on lots of + architectures (I hope). + (closes: #406004) + * Added Build-depends on patch + * Fix applying of pacthes in debian/rules. This would fail if there was + more than 1 patch present + + -- Bas Zoetekouw Sat, 13 Jan 2007 16:00:03 +0100 + +blktrace (0~git-20061221162513-1) experimental; urgency=low + + * Initial release (closes: #402076) + * Uploading to experimental because of the freeze; this package is not meant + for etch. + + -- Bas Zoetekouw Sat, 27 Dec 2006 16:53:39 +0100 + +Local variables: +mode: debian-changelog +End: +# vim:ts=8:sw=4:expandtab: --- blktrace-1.0.1.orig/debian/patches/20_no-add-needed.patch +++ blktrace-1.0.1/debian/patches/20_no-add-needed.patch @@ -0,0 +1,15 @@ +Description: add necessary library to fix linking failure with --no-add-needed +Author: Ilya Barygin +Bug-Debian: http://bugs.debian.org/553968 + +--- blktrace-1.0.1.orig/btreplay/Makefile ++++ blktrace-1.0.1/btreplay/Makefile +@@ -13,7 +13,7 @@ + override CFLAGS += $(INCS) $(XCFLAGS) $(OCFLAGS) + + PROGS = btrecord btreplay +-LIBS = -laio -lrt ++LIBS = -laio -lrt -lpthread + + all: depend $(PROGS) + --- blktrace-1.0.1.orig/debian/patches/10_btrace_paths.patch +++ blktrace-1.0.1/debian/patches/10_btrace_paths.patch @@ -0,0 +1,16 @@ +--- foo/btrace 2009-05-11 14:00:10.000000000 +0200 ++++ bar/btrace 2009-06-29 17:11:18.508606950 +0200 +@@ -9,7 +9,6 @@ + TRACEOPTS="" + PARSEOPTS="-b100000" + USAGE="Usage: btrace [-s] [-t] [-w N] [-n N] [-b N] [-a ...] [-r ] ..." +-DIRNAME=`dirname $0` + + while getopts "a:w:n:b:r:sthv" c + do +@@ -35,4 +34,4 @@ + exit 2 + fi + +-${DIRNAME}/blktrace ${TRACEOPTS} -o- $@ | ${DIRNAME}/blkparse ${PARSEOPTS} -i- ++/usr/sbin/blktrace ${TRACEOPTS} -o- $@ | /usr/bin/blkparse ${PARSEOPTS} -i-