summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-07-08 04:43:20 +0000
committerMike Frysinger <vapier@gentoo.org>2015-07-08 04:43:20 +0000
commit4d13bca0b620e4f79eff2cbd4fa68b846ed4be3b (patch)
tree0c21854437f88dd6084d20c600f1a300901f420e /sys-block
parentMark ~hppa ~ppc64 (bug #551722). (diff)
downloadhistorical-4d13bca0b620e4f79eff2cbd4fa68b846ed4be3b.tar.gz
historical-4d13bca0b620e4f79eff2cbd4fa68b846ed4be3b.tar.bz2
historical-4d13bca0b620e4f79eff2cbd4fa68b846ed4be3b.zip
Add fix from upstream for targets missing atomic sync in gcc.
Package-Manager: portage-2.2.20/cvs/Linux x86_64 Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'sys-block')
-rw-r--r--sys-block/fio/ChangeLog6
-rw-r--r--sys-block/fio/Manifest31
-rw-r--r--sys-block/fio/files/fio-2.2.9-atomic-sync.patch140
-rw-r--r--sys-block/fio/fio-2.2.9.ebuild3
4 files changed, 163 insertions, 17 deletions
diff --git a/sys-block/fio/ChangeLog b/sys-block/fio/ChangeLog
index e2f6ffe57cd4..9ae4e3960b89 100644
--- a/sys-block/fio/ChangeLog
+++ b/sys-block/fio/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-block/fio
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-block/fio/ChangeLog,v 1.61 2015/07/07 10:09:07 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-block/fio/ChangeLog,v 1.62 2015/07/08 04:43:18 vapier Exp $
+
+ 08 Jul 2015; Mike Frysinger <vapier@gentoo.org>
+ +files/fio-2.2.9-atomic-sync.patch, fio-2.2.9.ebuild:
+ Add fix from upstream for targets missing atomic sync in gcc.
*fio-2.2.9 (07 Jul 2015)
diff --git a/sys-block/fio/Manifest b/sys-block/fio/Manifest
index a17201ed8f4e..d9c6894dbccc 100644
--- a/sys-block/fio/Manifest
+++ b/sys-block/fio/Manifest
@@ -3,6 +3,7 @@ Hash: SHA256
AUX fio-2.0.14-pic-clobber-fix.patch 1018 SHA256 224a0f76c1cf0f7ccbc39a5274366533a0155971b2e0d9d285e3284c8af25193 SHA512 84e3dd2ad14c230996f2b5fa133ccda401eadabc8ef253d1a134cf7eab6e4bb721b42a0c8b74042349cd08db8f78bad5fcb882d897472d53b919d144993d6523 WHIRLPOOL e4be27e42eb05515b431421fbd17edaeb077dff2471b00d41ab20c244baee66ff426a8e456ef0fc6f32197c44a0ca05becce00c4a9c3e1274ed4585b7107b1cd
AUX fio-2.1.10-json.patch 1228 SHA256 17b2d34a7771752f17156893a1991e14710b8bfc9d351d7b44c545f937fc8b56 SHA512 aeeac56924c13c3b35cb9a47c9ce70f5d2a8ffdcbcdcc4e948819da51f2394f47d3d5d891ad63b6a4555a7b953755f863cd079514aae0b44195404230464254a WHIRLPOOL b8b2efaec2bfa27c98417a64902c0dcce49314200bd65530061d710c983c97d31458adeaa25090f829f1e939331e1bf5f003fca7064aacad2aa48edfa56ab4f7
+AUX fio-2.2.9-atomic-sync.patch 3778 SHA256 228e8c7689097eda7636bc271ca9137835c1cbf945d4264cfa165040b88be981 SHA512 b3a498ac64ff86a96641f939494fef509a9d7c33e3e9fdf562b68608fdaf8d7f5c5c1e0158ac7c61160a85883f3abc9f2d36684f5fdbb72877b769237d597298 WHIRLPOOL 81a5dd9ac6915b4e2fb828df0081b9a57a8b140538117c1528b4539123fc4308da0b2e6b33398c3d611ee17fe647455447a3d9c153e0b3d308b6ab608d28fa77
DIST fio-1.17.2.tar.bz2 1155486 SHA256 1bf40fb709b7e7dbee778139cabae6b70ec6a89a43ddd83450a6b981bf813498 SHA512 99ea0da474f2d23d17a4c8775d1ec0421c020f072e2ccfbf920cbf52edac934e365dac38cdbd15993dfa72dd09b81540b0b9802f1896f031e8682fdfd805ee4b WHIRLPOOL 61da7007e3b591b148f3ffba45c3c1ecf646c47ad08d78c258cdca2906c441285fa0db738e5b0b0113a00ed178d99973b5b380a03690fe5d2e279a361cea0201
DIST fio-1.99.10.tar.bz2 371892 SHA256 c6af6f685dfaa32c1f5779497f8d1b3dc1e18fc54bf35f0f3bb8120cf4ac2b3a SHA512 23bc2eaeed310d092a84cac06c701ccbe7c4ec45d98323f2e5ab3e4ccbea4b901edf2099dba1aed6fb31254c177228369e5983622a078ac33dc947a532693d87 WHIRLPOOL a4727121239f592f75f1a118f63370ee811c8f8b4396a253debd5ccc8a92641624d6bee65fb9b6c882e5dde41e5144d66457f47fef79942117a1a865f7183075
DIST fio-2.0.14.tar.bz2 253574 SHA256 4bf01f1d2baf6d4fa905e5489e446e85e01979c427b2c38e2915e039248044e5 SHA512 f58024aeb38026e62cfec5a3ec9ceffb0bd1361a65cf89513a36615aa084974461c7f132ae803d49f02c36d36a6029c52f851e7f8b2cd1c66be0dcdc9fdcf115 WHIRLPOOL cb4812b34a59df41dfc6e293518becfe43515fa228b3dcb1400af987f465d7c1251b9d2645395fb7f2991728a67133bc1f1b0124db88963a1d9b11b29d949e26
@@ -16,23 +17,23 @@ EBUILD fio-2.0.14-r1.ebuild 1158 SHA256 846868591432a9d345dc2d96c79a20e898f8cfd4
EBUILD fio-2.0.15.ebuild 1187 SHA256 5133e47f7177c5804031b7d1b4cf83dcea17449299cf18885a4e3ffe703d6494 SHA512 3897d20f51b38a16e68b0cfbfb82e238c20221c7b551ca7b1944216bab9b33149cfc2bd7590d3c50482c7a0d99025d43b4ec7e0843cc3703ee48fc8f62d16650 WHIRLPOOL 520f5417d0b127557e65c1ab97225975b5846ff873c700d67401facd237cd8ccc0b2530bc4235a462a98c50fcc98452438551f56986d009d93beefca7eac900b
EBUILD fio-2.1.9.ebuild 2112 SHA256 9ebe04c6c0d790e96339d842a3f01cbc41d273c8672e9d14a2537bf9ceb8d56e SHA512 a3f2d07f83c2046d60b82261dc0bc058530a036f0a64f67d79268625ef25391614ed58d7ef26686bb47a6ab4f17232772b33c9af835e0b43509d0f71373d46d4 WHIRLPOOL 3e5710d18a5338d3e03c8e327cc96fbf9d887fbaba1ecca71ad75225dd3f279507b39d962bd5d67917898577280939d652110e18ce33ed6fa6cd6f3e4c69f3bc
EBUILD fio-2.2.4-r1.ebuild 2299 SHA256 e7b5b8f45e22fa4c65b09a5fa503510e9c5dcd84656f4ec8b78e4e969b0ccd9d SHA512 d2e72bfed65da0199c47ea75b4af766c7c7f846ff94a2174855dd15bbaf378c45d4552e5701984cf73d1809aedd340001cec7854845b4ad5243e93a289cac768 WHIRLPOOL 099a4f5189a01737c44b45af80eaf22e849f592649d14261c0fa387ec7bfe3f94ac3a9e063b520d3c2f9290264ccc2bb8067e6a506d0909cf7f6ee42bb6e7926
-EBUILD fio-2.2.9.ebuild 2288 SHA256 e0770b1d68a601d1365c714e717d9199cc00353d2436a127a8ad0f0bd753f34b SHA512 6c498498aebaba432a3eb4888e7465c015925d13419209944477388109f421e4c37d9106bef507a4389548f18414d540bd27225fd491118b7000be8625bc9dbc WHIRLPOOL 708d26cb53a71d88883aa37ac0e40909968de4f84af4260d3c8c9d1ca0c81f88a27b0819b56a01332dc4f205675828092b2de36a63fe70d9c30dcada2e58045f
-MISC ChangeLog 9649 SHA256 a922455e763a55de1d30c3a50925753fb5b42f7230cc755b4bdc42137bc4cd9f SHA512 37d81713af135ff6bbfa6873b1ba80acf88e0e149a9381bc7d817d6316b8b57b33a9c13fd9d174f7a5379d6933d9fce99015ec9c4c5ae4904fe26f5076bdc3a4 WHIRLPOOL 9077014b5d538c8bee2eb97734b0e95307fe28aa31562d2fba0dbc33d888b4f57f008c32d25f7cac238523975c12eb4812c03445a1c677d6f66c8641e4513f84
+EBUILD fio-2.2.9.ebuild 2333 SHA256 efe72ba447da1b479089cc260daf7290f706824c3c3fc7f594ef87509b790e29 SHA512 944f3d48e0108acf067c03bd863cd479bc6f63c50b5f82570051c777afd13a1d5996c7832c8da9edb97721e73a2b3a8e79af43182a3116fadf337f957fd6bcf8 WHIRLPOOL 1fdcdc7af24b751aad00b3b485ad838ab67f89bfc2d273ae47dbd762663d0b11e195e11fbf04fbde65426d442bd31cff1630ec2211c1b6741f58fbfe906ca8cb
+MISC ChangeLog 9820 SHA256 e0f9739e729e87beb140743647bd329b5ac5949ba2ee39db5ad3ea1a7edcd86e SHA512 8129ab7889a16db3347a748d812112b50e8b135652aec050e05aaa015f42e0230befc4fdf5988b0cb2391c4f4b0688ddc946e375f3a902246a63d867097531eb WHIRLPOOL 73535dc0698b6b3e13fcc0a84a8c791bc64d121c5f9042f418e5d226347aa23b605697ba52ca821924980d30a15f94bb5aaf97d6d15983229a611f2383a8094f
MISC metadata.xml 737 SHA256 5e3b3ce6fdea78c1c6bcf040693a0c444f66593a77b1af1e0cf954878e57b65c SHA512 6c58fb6f99d79e88439a531d2dca5cf143b56aeaad079354160b8c332dbc7a8d16585a2de18588f5a990179f292e1da70bef5e523ec9f55bb6c6c59ace058542 WHIRLPOOL f7f78bb4d85dbbd4447801d4dd845e243a37ad65d16dfeabb5a5eae1064371970c12b4a97ec356278cef9f38395da19956625a568cffff4081c9ce5906b78eda
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQIcBAEBCAAGBQJVm6VEAAoJEPGu1DbS6WIACdEP/i8IGOlBNx5Q69G3i2kTQu79
-tX/bzcwqnBk3gtjXTDsKRFA3c8R3Oq/p/whN7LW83COqgEVMqTr5v+htyLbUW4oM
-2rY3fwBo5R8fxe6J9gP6JZzi4lKicZSCidbSwAabbcsBwcZyws/kcWLIa4viku1A
-9BjKM0hRegwGRDPUuaQhlLxOo6/1bAZBwTar5sVjpNKQDPrG+ij2MgMMXaQa9R8L
-IDw2Q/u4829HsbX1bkF8GPRip3CsefhPFXjVuc4bzaE+TcboFGcXTjINBywALJYN
-ApABnhAljDWXbhf4YZq0Wj50HEbx5FVeAjFCKIlwJH0SsgN9CIiInjjdEcB+vLsD
-hgh+e4ZMAUU8stR4TnlsW8GFnYF874qz4lNAzgmQiPagda5+3Yb1QCS820OMG8mT
-oEfXZLeIx7ZoseEjKb0/tHcbSbDVRbf6ztXroyuKgF/Tv1JL2Js8lNZfRYg3qmjr
-kPujUo8GvhZY/qkVvRd60i5jo7QEmgKB4aK1FJp4LsuJpXi4RzZtfyx6MRD0gLGH
-DpVfDywVPc1RAp+oUd4l4i64p0lXaoPT4b+DfDFSkF6HGHGks5siKXa0il7equxe
-oVYthu81FDS9rbU+d5YdQTy9Lq8zLT8QVWNTu7BgL4Q0vHqs0Hg1R8nKTAU5Sdf+
-t434CdjyXI7lqwxMK68q
-=90Yf
+iQIcBAEBCAAGBQJVnKpnAAoJEPGu1DbS6WIAJ/YP/0Fm2jg3l7XkYvUprY8SmJtX
+J0fAKWzaWxxA//Zqdtx/5opsnzqkNUe53pmPpASXwTkE2nr0sga1aLWNd67Yb574
+322SANEgPgXki5/iUpRP/th4tFqiZNySl4AJdEmdrdp4gWZm4OiK41lNqgaNI0cW
+Tv9tmiTrjBuEEs0/Ue8Bd36kBeTpCgKM8md0PHQmFknTD7fnyKGNOSwqKlQhzLwG
+Jw2PtJvE4QhdibbqqwM8jELYp1MjTibRJuNzlnS5vDMr1Yz3qsJJhKRjel1qMhlL
+3s4g9GeGZzwvWTj057/N89wUtstqCQMFsNTJ8mqmyo2Z+l7sa2eAIg8lRvOmKt8F
+dANvyznozDSrHd///stQKZAd+56LLe3WqEyuyVpHjsPhhEY0hNcICOo6EuWvkUnt
+VN06flFT5ONSi535E6Xm7Z6herKlPnXKyklXnCt9I3emElTtyEKzcnAoSPdA6Z5w
+PTKYklgzERHJiSvgB/GLeDMjAhXMUjlFHb8XVYgaHI9tEvB4VfIkVGo7jcS00tpS
+cdpDjroCFs/1IppswktqR6B+gYahK5SSjNsx94NgbDTbmBzXsQyTKDACovQVgtFW
+Ai+wrTT3aAGp6pclUd6VUIbAdy66oq2EXFuc2BscAqlhy+lRj4uFcDlWli3dihF8
+6SvSoSBgzR8zV6VZJezV
+=yNCv
-----END PGP SIGNATURE-----
diff --git a/sys-block/fio/files/fio-2.2.9-atomic-sync.patch b/sys-block/fio/files/fio-2.2.9-atomic-sync.patch
new file mode 100644
index 000000000000..a8b32022e44b
--- /dev/null
+++ b/sys-block/fio/files/fio-2.2.9-atomic-sync.patch
@@ -0,0 +1,140 @@
+fix from upstream
+
+From 2a2743361cf643b9dd2ba3e491da62e7cb83a101 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@fb.com>
+Date: Mon, 29 Jun 2015 09:34:39 -0600
+Subject: [PATCH] workqueue: make it work on platforms without
+ __sync_fetch_and_add()
+
+Signed-off-by: Jens Axboe <axboe@fb.com>
+---
+ configure | 22 ++++++++++++++++++++++
+ workqueue.c | 22 ++++++++++++++++++++++
+ workqueue.h | 1 +
+ 3 files changed, 45 insertions(+)
+
+diff --git a/configure b/configure
+index e459d63..e5cf34d 100755
+--- a/configure
++++ b/configure
+@@ -271,6 +271,7 @@ CYGWIN*)
+ output_sym "CONFIG_TCP_NODELAY"
+ output_sym "CONFIG_TLS_THREAD"
+ output_sym "CONFIG_IPV6"
++ output_sym "CONFIG_SFA"
+ echo "CC=$CC" >> $config_host_mak
+ echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
+ exit 0
+@@ -1492,6 +1493,24 @@ if compile_prog "" "" "getmntinfo"; then
+ fi
+ echo "getmntinfo $getmntinfo"
+
++##########################################
++# Check whether we have __sync_fetch_and_add()
++sfa=="no"
++cat > $TMPC << EOF
++#include <stdio.h>
++#include <stdlib.h>
++#include <inttypes.h>
++int main(int argc, char **argv)
++{
++ uint64_t dst = 1, src = 3;
++ __sync_fetch_and_add(&dst, src);
++}
++EOF
++if compile_prog "" "" "__sync_fetch_and_add"; then
++ sfa="yes"
++fi
++echo "__sync_fetch_and_add $sfa"
++
+ #############################################################################
+
+ if test "$wordsize" = "64" ; then
+@@ -1671,6 +1690,9 @@ fi
+ if test "$getmntinfo" = "yes" ; then
+ output_sym "CONFIG_GETMNTINFO"
+ fi
++if test "$sfa" = "yes" ; then
++ output_sym "CONFIG_SFA"
++fi
+
+ if test "$zlib" = "no" ; then
+ echo "Consider installing zlib-dev (zlib-devel), some fio features depend on it."
+diff --git a/workqueue.c b/workqueue.c
+index b9a967f..8f6963f 100644
+--- a/workqueue.c
++++ b/workqueue.c
+@@ -197,6 +197,7 @@ err:
+ return 1;
+ }
+
++#ifdef CONFIG_SFA
+ static void sum_val(uint64_t *dst, uint64_t *src)
+ {
+ if (*src) {
+@@ -204,15 +205,34 @@ static void sum_val(uint64_t *dst, uint64_t *src)
+ *src = 0;
+ }
+ }
++#else
++static void sum_val(uint64_t *dst, uint64_t *src)
++{
++ if (*src) {
++ *dst += *src;
++ *src = 0;
++ }
++}
++#endif
+
+ static void sum_ddir(struct thread_data *dst, struct thread_data *src,
+ enum fio_ddir ddir)
+ {
++#ifndef CONFIG_SFA
++ pthread_mutex_lock(&dst->io_wq.stat_lock);
++ pthread_mutex_lock(&src->io_wq.stat_lock);
++#endif
++
+ sum_val(&dst->io_bytes[ddir], &src->io_bytes[ddir]);
+ sum_val(&dst->io_blocks[ddir], &src->io_blocks[ddir]);
+ sum_val(&dst->this_io_blocks[ddir], &src->this_io_blocks[ddir]);
+ sum_val(&dst->this_io_bytes[ddir], &src->this_io_bytes[ddir]);
+ sum_val(&dst->bytes_done[ddir], &src->bytes_done[ddir]);
++
++#ifndef CONFIG_SFA
++ pthread_mutex_unlock(&src->io_wq.stat_lock);
++ pthread_mutex_unlock(&dst->io_wq.stat_lock);
++#endif
+ }
+
+ static void update_accounting(struct submit_worker *sw)
+@@ -355,6 +375,7 @@ void workqueue_exit(struct workqueue *wq)
+ free(wq->workers);
+ pthread_mutex_destroy(&wq->flush_lock);
+ pthread_cond_destroy(&wq->flush_cond);
++ pthread_mutex_destroy(&wq->stat_lock);
+ }
+
+ static int start_worker(struct workqueue *wq, unsigned int index)
+@@ -393,6 +414,7 @@ int workqueue_init(struct thread_data *td, struct workqueue *wq,
+ wq->next_free_worker = 0;
+ pthread_cond_init(&wq->flush_cond, NULL);
+ pthread_mutex_init(&wq->flush_lock, NULL);
++ pthread_mutex_init(&wq->stat_lock, NULL);
+
+ wq->workers = calloc(wq->max_workers, sizeof(struct submit_worker));
+
+diff --git a/workqueue.h b/workqueue.h
+index 5d47a5e..4e92449 100644
+--- a/workqueue.h
++++ b/workqueue.h
+@@ -17,6 +17,7 @@ struct workqueue {
+
+ pthread_cond_t flush_cond;
+ pthread_mutex_t flush_lock;
++ pthread_mutex_t stat_lock;
+ volatile int wake_idle;
+ };
+
+--
+2.4.4
+
diff --git a/sys-block/fio/fio-2.2.9.ebuild b/sys-block/fio/fio-2.2.9.ebuild
index 18e2e2f8352e..8af174b1bd9d 100644
--- a/sys-block/fio/fio-2.2.9.ebuild
+++ b/sys-block/fio/fio-2.2.9.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-block/fio/fio-2.2.9.ebuild,v 1.1 2015/07/07 10:09:07 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-block/fio/fio-2.2.9.ebuild,v 1.2 2015/07/08 04:43:18 vapier Exp $
EAPI="5"
PYTHON_COMPAT=( python2_7 )
@@ -37,6 +37,7 @@ S="${WORKDIR}/${MY_P}"
src_prepare() {
sed -i '/^DEBUGFLAGS/s: -D_FORTIFY_SOURCE=2::g' Makefile || die
+ epatch "${FILESDIR}"/${P}-atomic-sync.patch
epatch_user
# Many checks don't have configure flags.