summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Raybuck <mraybuc@us.ibm.com>2019-01-31 14:40:55 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-04 08:36:34 -0600
commitdbc69abae26a0cfc946c7319898ac6ac135a1373 (patch)
treea2d0d4a6311af342ee90b9f2e2676e7ccdb48ff8
parentfaafdfcec87bd36d7c64ed628082d5e2819e74f0 (diff)
downloadtalos-hostboot-dbc69abae26a0cfc946c7319898ac6ac135a1373.tar.gz
talos-hostboot-dbc69abae26a0cfc946c7319898ac6ac135a1373.zip
Fix intermittent CI fails regarding mutexes
There is an issue where if there are crit_asserts in the mutex lock/unlock functions that the code will assert in a testcase intermittently. This commit will remove those crit_asserts to alleviate the issue until it can be investigated further. Change-Id: I3b8781a023092d7e660ffc783699f3c0a80b5c98 CQ:SW453293 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71160 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/lib/sync.C7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/lib/sync.C b/src/lib/sync.C
index 420fb3416..a5da87d0e 100644
--- a/src/lib/sync.C
+++ b/src/lib/sync.C
@@ -194,8 +194,6 @@ void mutex_lock(mutex_t * i_mutex)
// 2: Lock is held by a task and there is contention.
// Any other values indicates that outside influences have messed with the
// mutex and we shouldn't continue.
- crit_assert(i_mutex->iv_val <= 2);
-
uint64_t l_lockStatus = __sync_val_compare_and_swap(&(i_mutex->iv_val),0,1);
if(unlikely(l_lockStatus != 0))
@@ -239,8 +237,6 @@ void mutex_unlock(mutex_t * i_mutex)
// 2: Lock is held by a task and there is contention.
// Any other values indicates that outside influences have messed with the
// mutex and we shouldn't continue.
- crit_assert(i_mutex->iv_val <= 2);
-
uint64_t l_lockStatus = __sync_fetch_and_sub(&(i_mutex->iv_val), 1);
if(unlikely(l_lockStatus >= 2))
@@ -265,7 +261,6 @@ void recursive_mutex_lock(mutex_t * i_mutex)
// 2: Lock is held by a task and there is contention.
// Any other values indicates that outside influences have messed with the
// mutex and we shouldn't continue.
- crit_assert(i_mutex->iv_val <= 2);
// Check the contents of the mutex's iv_val and if it's equal to 0, then
// assign it the value of 1. l_lockStatus is initialized with the value of
@@ -337,8 +332,6 @@ void recursive_mutex_unlock(mutex_t * i_mutex)
// 2: Lock is held by a task and there is contention.
// Any other values indicates that outside influences have messed with the
// mutex and we shouldn't continue.
- crit_assert(i_mutex->iv_val <= 2);
-
uint64_t l_lockStatus = 0;
if (i_mutex->iv_ownerLockCount <= 1)
OpenPOWER on IntegriCloud