diff options
author | Mike Frysinger <vapier@chromium.org> | 2018-01-23 18:02:25 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2018-01-23 18:02:36 -0500 |
commit | e7bbdf12131702c78cdeb20ef55ecbb6796af3f0 (patch) | |
tree | 97196984cd4ea37886990c5e9c4a4e08ffbb0555 /sys-block/blktrace | |
parent | profiles: sparc: unmask ruby23 in stable, bug #639476 (diff) | |
download | gentoo-e7bbdf12131702c78cdeb20ef55ecbb6796af3f0.tar.gz gentoo-e7bbdf12131702c78cdeb20ef55ecbb6796af3f0.tar.bz2 gentoo-e7bbdf12131702c78cdeb20ef55ecbb6796af3f0.zip |
sys-block/blktrace: version bump to 1.2.0
Diffstat (limited to 'sys-block/blktrace')
-rw-r--r-- | sys-block/blktrace/Manifest | 1 | ||||
-rw-r--r-- | sys-block/blktrace/blktrace-1.2.0.ebuild | 53 | ||||
-rw-r--r-- | sys-block/blktrace/files/blktrace-1.2.0-ldflags.patch | 89 | ||||
-rw-r--r-- | sys-block/blktrace/files/blktrace-1.2.0-overlapping-io-stats.patch | 68 | ||||
-rw-r--r-- | sys-block/blktrace/files/blktrace-1.2.0-parallel-build.patch | 71 |
5 files changed, 282 insertions, 0 deletions
diff --git a/sys-block/blktrace/Manifest b/sys-block/blktrace/Manifest index fa4a54501335..9180af75b9a7 100644 --- a/sys-block/blktrace/Manifest +++ b/sys-block/blktrace/Manifest @@ -1,2 +1,3 @@ DIST blktrace-1.0.3.tar.bz2 359325 BLAKE2B c776fe0445eadbb2d077435626e6ffdd330ba2f49d053bfd247ed7f421b9bd588d38acd32133ebac69e0fc63f165fe0e6b3324bf8313a14000cf02e3a5e735cf SHA512 f20a33b5309146304277a5f8a4c7f2c61e804b2caa5c62d00425ef26fcd1cd628521067b2502d05c368e10d2cd38a98c246030705ba358f835e8a6921444f9a5 DIST blktrace-1.1.0.tar.bz2 395445 BLAKE2B 8a19142991527813942e6377baa5de825572196e75ea43606f2ae2db73d9278c8178f104910ecd92593a70fe9c86c36ebd718e09599e88824f5faaddca5bd7cd SHA512 52ed3b66e1ec62c2204d44037d4d13218fd0229ae694493a21f1e83bfc8aeb029edc96b2be83f39cc3e79500abad56cd5a71c8c4e6dd836661777662f3628355 +DIST blktrace-1.2.0.tar.bz2 395193 BLAKE2B 8f8505f27985f0451f75ced0e438a88758482227e83ba8de235986ab3f116cf38d5aec340d1e7ce3dc3aa5a97c0bd4c46265687976e7326a54ea2e7cce4afc82 SHA512 ce82c8010ca5c2868746d8eb7c6a107fc7382c05df949eeff79e612f5b1a98301a5aa5ab39de0766ea1c074f95e378ba985401cbeba9a296e3182da7d7a23b86 diff --git a/sys-block/blktrace/blktrace-1.2.0.ebuild b/sys-block/blktrace/blktrace-1.2.0.ebuild new file mode 100644 index 000000000000..063a913b54ba --- /dev/null +++ b/sys-block/blktrace/blktrace-1.2.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit toolchain-funcs flag-o-matic linux-info + +MY_PN="blktrace" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="show detailed info about what is happening on a block device io queue" +HOMEPAGE="http://git.kernel.dk/cgit/blktrace/" +SRC_URI="http://brick.kernel.dk/snaps/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="doc" + +RDEPEND="dev-libs/libaio" +# This is a Linux specific app! +DEPEND="${RDEPEND} + sys-kernel/linux-headers + doc? ( + virtual/latex-base + || ( >=app-text/texlive-core-2014 app-text/dvipdfm ) + ) +" +S="${WORKDIR}/${MY_P}" + +CONFIG_CHECK="~BLK_DEV_IO_TRACE" +WARNING_BLK_DEV_IO_TRACE="you need to enable BLK_DEV_IO_TRACE kernel option if you want to gather traces from this machine" + +PATCHES=( + "${FILESDIR}"/${P}-overlapping-io-stats.patch + "${FILESDIR}"/${PN}-1.2.0-ldflags.patch #335741 + "${FILESDIR}"/${PN}-1.2.0-parallel-build.patch #335741 +) + +src_compile() { + append-cppflags -DLVM_REMAP_WORKAROUND -W -I"${S}" + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${CPPFLAGS}" + if use doc; then + export VARTEXFONTS="${T}/fonts" + emake docs + fi +} + +src_install() { + emake install DESTDIR="${ED}" prefix="/usr" mandir="/usr/share/man" + einstalldocs + use doc && dodoc doc/blktrace.pdf btt/doc/btt.pdf +} diff --git a/sys-block/blktrace/files/blktrace-1.2.0-ldflags.patch b/sys-block/blktrace/files/blktrace-1.2.0-ldflags.patch new file mode 100644 index 000000000000..b8e2aebfff4f --- /dev/null +++ b/sys-block/blktrace/files/blktrace-1.2.0-ldflags.patch @@ -0,0 +1,89 @@ +http://git.kernel.dk/?p=blktrace.git;a=commit;h=d1398e339585f6750f7158c50c98861b68dddc8b + +From 6d8c3d7a10f62b26514a56b25a3744c5f35219a6 Mon Sep 17 00:00:00 2001 +From: "Robin H. Johnson" <robbat2@gentoo.org> +Date: Tue, 23 Jan 2018 17:40:48 -0500 +Subject: [PATCH] respect LDFLAGS when linking programs + +--- + Makefile | 10 +++++----- + btreplay/Makefile | 4 ++-- + btt/Makefile | 2 +- + iowatcher/Makefile | 2 +- + 4 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/Makefile b/Makefile +index fdbded02ee0a..68de59183a73 100644 +--- a/Makefile ++++ b/Makefile +@@ -26,19 +26,19 @@ btreplay/btreplay: + $(CC) -o $*.o -c $(ALL_CFLAGS) $< + + blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o +- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) + + blktrace: blktrace.o act_mask.o +- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS) + + verify_blkparse: verify_blkparse.o +- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) + + blkrawverify: blkrawverify.o +- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) + + blkiomon: blkiomon.o rbtree.o +- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt + + $(PROGS): | depend + +diff --git a/btreplay/Makefile b/btreplay/Makefile +index 2998182401e7..f574a2976ec1 100644 +--- a/btreplay/Makefile ++++ b/btreplay/Makefile +@@ -32,10 +32,10 @@ clean: docsclean + $(CC) $(CFLAGS) -c -o $*.o $< + + btrecord: btrecord.o +- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) + + btreplay: btreplay.o +- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS) + + depend: + @$(CC) -MM $(CFLAGS) *.c 1> .depend +diff --git a/btt/Makefile b/btt/Makefile +index df7a3de6b3fb..32075573954c 100644 +--- a/btt/Makefile ++++ b/btt/Makefile +@@ -38,7 +38,7 @@ clean: docsclean + $(CC) $(CFLAGS) -c -o $*.o $< + + btt: $(OBJS) +- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS) + + ifneq ($(wildcard .depend),) + include .depend +diff --git a/iowatcher/Makefile b/iowatcher/Makefile +index e013556f3ae1..a224a0848cc8 100644 +--- a/iowatcher/Makefile ++++ b/iowatcher/Makefile +@@ -19,7 +19,7 @@ all: $(ALL) + $(CC) -o $*.o -c $(ALL_CFLAGS) $< + + iowatcher: blkparse.o plot.o main.o tracers.o mpstat.o fio.o +- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -lrt ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) -lm -lrt + + depend: + @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend +-- +2.15.1 + diff --git a/sys-block/blktrace/files/blktrace-1.2.0-overlapping-io-stats.patch b/sys-block/blktrace/files/blktrace-1.2.0-overlapping-io-stats.patch new file mode 100644 index 000000000000..11c495efbc0c --- /dev/null +++ b/sys-block/blktrace/files/blktrace-1.2.0-overlapping-io-stats.patch @@ -0,0 +1,68 @@ +http://git.kernel.dk/?p=blktrace.git;a=commit;h=8fc451c6b0b9a7db7c376ea6865c35321e561f00 + +From 8fc451c6b0b9a7db7c376ea6865c35321e561f00 Mon Sep 17 00:00:00 2001 +From: Gwendal Grignou <gwendal@chromium.org> +Date: Fri, 18 Aug 2017 15:00:22 -0700 +Subject: [PATCH] btt: Fix overlapping IO stats. + +Keep scanning the tree for overlapping IO otherwise Q2G and process +traces will be incorrect. + +Let assume we have 2 IOs: + +A A+a +|---------------------------------------| + B B+b + |-----------------| + +In the red/black tree we have: + + o -> [A,A+a] + / \ + left right + / \ + [...]o o -> [B, B+b] + +In the current code, if we would not be able to find [B+b] in the tree: +B is greater than A, so we won't go left +B+b is smaller than A+a, so we are not going right either. + +When we have a [X, X+x] IO to look for: +We need to check for right when either: + X+x >= A+a (for merged IO) +and + X > A (for overlapping IO) + +TEST=Check with a trace with overlapping IO: Q2C and Q2G are expected. + +Signed-off-by: Gwendal Grignou <gwendal@chromium.org> +Signed-off-by: Jens Axboe <axboe@kernel.dk> +--- + btt/dip_rb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/btt/dip_rb.c b/btt/dip_rb.c +index 2aa7ffcc763b..6efef6c03b8f 100644 +--- a/btt/dip_rb.c ++++ b/btt/dip_rb.c +@@ -57,7 +57,7 @@ struct io *rb_find_sec(struct rb_root *root, __u64 sec) + __iop = rb_entry(n, struct io, rb_node); + if (sec < BIT_START(__iop)) + n = n->rb_left; +- else if (sec >= BIT_END(__iop)) ++ else if (sec > BIT_START(__iop)) + n = n->rb_right; + else + return __iop; +@@ -82,7 +82,7 @@ void rb_foreach(struct rb_node *n, struct io *iop, + } + if (iop_s < this_s) + rb_foreach(n->rb_left, iop, fnc, head); +- if (this_e < iop_e) ++ if ((this_e < iop_e) || (this_s < iop_s)) + rb_foreach(n->rb_right, iop, fnc, head); + } + } +-- +2.15.1 + diff --git a/sys-block/blktrace/files/blktrace-1.2.0-parallel-build.patch b/sys-block/blktrace/files/blktrace-1.2.0-parallel-build.patch new file mode 100644 index 000000000000..129f04107fa1 --- /dev/null +++ b/sys-block/blktrace/files/blktrace-1.2.0-parallel-build.patch @@ -0,0 +1,71 @@ +http://git.kernel.dk/?p=blktrace.git;a=commit;h=519fd9a5d08d85f3d9cb4192d624fe8351e40232 + +From 4569544261be495bdec0574d7729c85a62dabad7 Mon Sep 17 00:00:00 2001 +From: "Robin H. Johnson" <robbat2@gentoo.org> +Date: Thu, 3 Feb 2011 03:07:06 +0000 +Subject: [PATCH] fix parallel build failures + +When building in parallel, the btreplay/btrecord and btreplay/btreplay +targets cause make to kick off two jobs for `make -C btreplay` and they +sometimes end up clobbering each other. We could fix this by making one +a dependency of the other, but it's a bit cleaner to refactor things to +be based on subdirs. This way changes in subdirs also get noticed: + $ touch btreplay/*.[ch] + $ make + <btreplay is now correctly updated> + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + Makefile | 24 ++++++++++-------------- + 1 file changed, 10 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index 68de59183a73..5917814d0344 100644 +--- a/Makefile ++++ b/Makefile +@@ -4,23 +4,19 @@ ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 + PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon + LIBS = -lpthread + SCRIPTS = btrace ++SUBDIRS = btreplay btt iowatcher + +-ALL = $(PROGS) $(SCRIPTS) btt/btt btreplay/btrecord btreplay/btreplay \ ++ALL = $(PROGS) $(SCRIPTS) ++INSTALL_ALL = $(ALL) btt/btt btreplay/btrecord btreplay/btreplay \ + btt/bno_plot.py iowatcher/iowatcher + +-all: $(ALL) ++all: $(ALL) $(SUBDIRS) + +-btt/btt: +- $(MAKE) -C btt +- +-iowatcher/iowatcher: +- $(MAKE) -C iowatcher +- +-btreplay/btrecord: +- $(MAKE) -C btreplay +- +-btreplay/btreplay: +- $(MAKE) -C btreplay ++# We always descend into subdirs because they contain their own dependency ++# information which we don't track in this top level Makefile. ++$(SUBDIRS): ++ $(MAKE) -C $@ ++.PHONY: $(SUBDIRS) + + %.o: %.c + $(CC) -o $*.o -c $(ALL_CFLAGS) $< +@@ -85,7 +81,7 @@ install: all + $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) + $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1 + $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8 +- $(INSTALL) -m 755 $(ALL) $(DESTDIR)$(bindir) ++ $(INSTALL) -m 755 $(INSTALL_ALL) $(DESTDIR)$(bindir) + $(INSTALL) -m 644 doc/*.1 $(DESTDIR)$(mandir)/man1 + $(INSTALL) -m 644 doc/*.8 $(DESTDIR)$(mandir)/man8 + +-- +2.15.1 + |