mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
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>
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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));
|
||||
Reference in New Issue
Block a user