diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2020-12-01 21:57:12 +0100 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2020-12-01 21:58:51 +0100 |
commit | 47faa4b07f8192795c1664bda54a88e1c6c4fcd9 (patch) | |
tree | ecfa07f6010c95b79b0a065785f2b10d46f253e6 /dev-libs/concurrencykit | |
parent | sys-apps/smcipmitool: drop old version (diff) | |
download | gentoo-47faa4b07f8192795c1664bda54a88e1c6c4fcd9.tar.gz gentoo-47faa4b07f8192795c1664bda54a88e1c6c4fcd9.tar.bz2 gentoo-47faa4b07f8192795c1664bda54a88e1c6c4fcd9.zip |
dev-libs/concurrencykit: fix ck_hp_fifo test on high cpu count
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'dev-libs/concurrencykit')
-rw-r--r-- | dev-libs/concurrencykit/concurrencykit-0.7.0-r1.ebuild | 1 | ||||
-rw-r--r-- | dev-libs/concurrencykit/files/concurrencykit-0.7.0-tests.patch | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/dev-libs/concurrencykit/concurrencykit-0.7.0-r1.ebuild b/dev-libs/concurrencykit/concurrencykit-0.7.0-r1.ebuild index 52fdc2f36338..e3b8d4182451 100644 --- a/dev-libs/concurrencykit/concurrencykit-0.7.0-r1.ebuild +++ b/dev-libs/concurrencykit/concurrencykit-0.7.0-r1.ebuild @@ -26,6 +26,7 @@ PATCHES=( "${FILESDIR}/${P}-glibc-2.30.patch" "${FILESDIR}/${P}-gzip.patch" "${FILESDIR}/${P}-static-libs.patch" + "${FILESDIR}/${P}-tests.patch" ) src_configure() { diff --git a/dev-libs/concurrencykit/files/concurrencykit-0.7.0-tests.patch b/dev-libs/concurrencykit/files/concurrencykit-0.7.0-tests.patch new file mode 100644 index 000000000000..4d29c6bcf7eb --- /dev/null +++ b/dev-libs/concurrencykit/files/concurrencykit-0.7.0-tests.patch @@ -0,0 +1,33 @@ +From 07835a3d08d96db30393c235f95649e792883d50 Mon Sep 17 00:00:00 2001 +From: Samy Al Bahra <sbahra@backtrace.io> +Date: Mon, 30 Nov 2020 18:33:51 -0500 +Subject: [PATCH] regressions/ck_hp_fifo: fixes false-positive from #165. + +Add busy-wait barrier before next stage of test. Otherwise, +some threads may enter it and a non-empty queue state is observed. +--- + regressions/ck_hp/validate/ck_hp_fifo.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/regressions/ck_hp/validate/ck_hp_fifo.c b/regressions/ck_hp/validate/ck_hp_fifo.c +index 4454283c..5820f1aa 100644 +--- a/regressions/ck_hp/validate/ck_hp_fifo.c ++++ b/regressions/ck_hp/validate/ck_hp_fifo.c +@@ -55,6 +55,7 @@ static struct affinity a; + static int size; + static unsigned int barrier; + static unsigned int e_barrier; ++static unsigned int s_barrier; + + static void * + test(void *c) +@@ -98,6 +99,9 @@ test(void *c) + } + } + ++ ck_pr_inc_uint(&s_barrier); ++ while (ck_pr_load_uint(&s_barrier) < (unsigned int)nthr); ++ + for (i = 0; i < ITERATIONS; i++) { + for (j = 0; j < size; j++) { + fifo_entry = malloc(sizeof(ck_hp_fifo_entry_t)); |