diff options
author | 2015-07-08 04:43:20 +0000 | |
---|---|---|
committer | 2015-07-08 04:43:20 +0000 | |
commit | 4d13bca0b620e4f79eff2cbd4fa68b846ed4be3b (patch) | |
tree | 0c21854437f88dd6084d20c600f1a300901f420e /sys-block | |
parent | Mark ~hppa ~ppc64 (bug #551722). (diff) | |
download | historical-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/ChangeLog | 6 | ||||
-rw-r--r-- | sys-block/fio/Manifest | 31 | ||||
-rw-r--r-- | sys-block/fio/files/fio-2.2.9-atomic-sync.patch | 140 | ||||
-rw-r--r-- | sys-block/fio/fio-2.2.9.ebuild | 3 |
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. |