summaryrefslogtreecommitdiffstats
path: root/src/lib/sync.C
Commit message (Collapse)AuthorAgeFilesLines
* Fix intermittent CI fails regarding mutexesMatt Raybuck2019-02-041-7/+0
| | | | | | | | | | | | | | | | | | 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>
* Fix intermittent Jenkins CI failMatt Raybuck2019-01-101-3/+3
| | | | | | | | | | | | | | | | | | | There is an intermittent CI fail where test case modules will time out due to an assert in sync.C. This will prevent the assert from occuring if too many calls to mutex unlock are made. Change-Id: Iff90cc31a4faefa4eeef8d0675b804bec0f2a7d2 CQ:SW453293 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70265 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Attribute support for recursive mutexesMatt Raybuck2018-11-121-3/+80
| | | | | | | | | | | | | | | | Added a new recursive mutex attribute, new test cases, and initializers for recursive mutex attributes. Change-Id: I49e6bc4fc2fd84e5c46e5d4c5ec125270347bde5 RTC: 196793 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67939 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@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>
* Added support for recursive mutexesMatt Raybuck2018-10-291-11/+117
| | | | | | | | | | | | | | | | There was only support for non-recursive mutexes. This commit adds support for recursive mutexes and a new API for using them. Change-Id: I664c181af1633b05b8b2da6b1ff21b93a37cec28 RTC: 196793 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67938 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-211-10/+10
| | | | | | | Change-Id: I5664587b4f889099290ef50d50fa9ce5e580e1eb Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11167 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Clean up TODOs in Kernel.Patrick Williams2014-02-271-4/+9
| | | | | | | | | | | | * Ensure that unhandled SRESET will trigger TI. Change-Id: I34807bc357ba6908327ede975afc9c6b6b17c098 RTC: 92848 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8933 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Lockless trace implementationPatrick Williams2012-12-141-47/+47
| | | | | | | | | RTC: 35396 Change-Id: I96ea0d95606f04abb4dc2b0470345ca475b53912 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2520 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Conditional Variable supportDoug Gilbert2012-01-251-4/+92
| | | | | | | Change-Id: Ib715b3a4e775ef183244e8769c6560a85ac19104 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/612 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Initial Deconfigure and GARD supportMike Jones2011-11-011-1/+1
| | | | | | | Change-Id: I8448480627ad478e8e16377027137e6df410053f Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/460 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
* Add copyright headers to all source files.Patrick Williams2011-08-241-0/+22
| | | | | | | Change-Id: I205f2409e56032cfc0aaf01d7e26d357f0b86373 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/277 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* Clean up mutex issues.Patrick Williams2011-08-091-39/+20
| | | | | | | | | | | | | - Final fix for mutex bug. - Document weak-consistency decisions in mutex code. - Prevent aggressive optimizations around lwsync/isync instrs. - Fix minor bug in futex_wait system call. - Optimize futex path with likely/unlikely hints. Change-Id: I26b54dee7e45bcb42195f730474b350b44f53cfc Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/233 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Hang condition on mutex, try different futex lock codeDoug Gilbert2011-08-031-2/+7
| | | | | | | | Change-Id: I5c9e1e54234a9214a70bec0ef87a53da86100195 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/226 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
* fix mutex_unlock weak consitency bugdgilbert2011-07-151-0/+2
| | | | | | | Change-Id: Id73831f647cd07f6a12848dac9e45b2dc6c67f62 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/201 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Improve assert handling and options.Patrick Williams2011-07-061-1/+1
| | | | | | | | | | | | | - Allow a custom assert trace as an optional parameter. - Call a trace function instead of printk for most cases. - Provide a critical library assert (for syslibs, trace, etc.) - Provide a kassert function for kernel code. Change-Id: If24d57d0832a587258503b3fd0046c21da3712b5 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/159 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com>
* Remove heap allocation of xscom mutex.Patrick Williams2011-06-241-11/+1
| | | | | | | | | | | | | | Since mutexes are simply a uint64 with a static initializer, the xscom mutex is now a instance variable directly in the cpu object. Remove unneeded mutex_create function and changed the behavior of mutex_destroy. Change-Id: If6e1d1bf0083c32ef9e7502d27678811bdaf7e1e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/150 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com>
* Initial futex supportdgilbert2011-06-171-0/+160
Change-Id: I51a4f1117085ce23c7993c1a38e4124596636726 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/141 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
OpenPOWER on IntegriCloud