mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-04 00:08:09 -07:00
sys-block/blktrace: version bump to 1.2.0
This commit is contained in:
committed by
Mike Frysinger
parent
727e258c19
commit
e7bbdf1213
@@ -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
|
||||
|
||||
53
sys-block/blktrace/blktrace-1.2.0.ebuild
Normal file
53
sys-block/blktrace/blktrace-1.2.0.ebuild
Normal file
@@ -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
|
||||
}
|
||||
89
sys-block/blktrace/files/blktrace-1.2.0-ldflags.patch
Normal file
89
sys-block/blktrace/files/blktrace-1.2.0-ldflags.patch
Normal file
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
71
sys-block/blktrace/files/blktrace-1.2.0-parallel-build.patch
Normal file
71
sys-block/blktrace/files/blktrace-1.2.0-parallel-build.patch
Normal file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user