diff options
author | Matt Raybuck <mraybuc@us.ibm.com> | 2019-01-31 14:40:55 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-02-04 08:36:34 -0600 |
commit | dbc69abae26a0cfc946c7319898ac6ac135a1373 (patch) | |
tree | a2d0d4a6311af342ee90b9f2e2676e7ccdb48ff8 | |
parent | faafdfcec87bd36d7c64ed628082d5e2819e74f0 (diff) | |
download | talos-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.C | 7 |
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) |