summaryrefslogtreecommitdiffstats
path: root/src/usr/trace
Commit message (Collapse)AuthorAgeFilesLines
* Trace race condition causes deadlock.Patrick Williams2014-05-211-4/+11
| | | | | | | | | | | | | | | | | | | | | | In some cases where the trace daemon is coalescing trace at the exact instant that a thread is creating a trace entry we can end up in a deadlock. The daemon is in the process of moving a trace entry from one page to another and updates some pointers in the trace linked list. The daemon then pauses for all of the trace producers to finish their transactions before updating the component buffer's pointers. At this point, the producer can use data that is in a half-updated state and deadlock. The solution is to have the producer cache state data during the life of its transaction. Change-Id: Ic7d031abb03f24e47cf4903400ef5f0e7520ee68 CQ: SW261995 Backport: release-fips811 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11149 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> 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>
* Clean up beam errors in core.Patrick Williams2014-02-273-6/+7
| | | | | | | | | | Change-Id: I695a38ae88583a052cae19b930eb53171f8fab2b RTC:94993 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9050 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Potential buffer overrun in trace collection.Patrick Williams2014-01-151-1/+5
| | | | | | | | | Change-Id: I8352c37f3789c684df24b75e85abca9fddfa314f Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8054 Tested-by: Jenkins Server Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Race condition in trace leads to double-delete.Patrick Williams2013-11-152-22/+19
| | | | | | | | | Change-Id: I4fc4acc8f84de151d1d9600802539c18c6aa7851 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7277 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Split "SPless" from mailbox for Cronus control of HBDean Sanner2013-10-101-3/+1
| | | | | | | Change-Id: Ifc44ca2f54bc61163f797b8020ffdd7bf9cc3240 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6424 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Runtime trace interfaces.Patrick Williams2013-10-084-7/+120
| | | | | | | | | | Change-Id: Ie261eba4bd790150d520bb0261f56c8329cb6a80 RTC: 79420 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6400 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>
* Initial Hostboot Runtime image support.Patrick Williams2013-09-175-3/+133
| | | | | | | | RTC: 76675 Change-Id: Ibd21cf5b555e6dcee182a2f1a292b47d4f384ba0 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6127 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Eliminate tracepp!Patrick Williams2013-07-121-3/+3
| | | | | | | | | Change-Id: I67a7d626c81b0b90e25057c486d490e6e2b5aede Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5132 Tested-by: Jenkins Server Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Run latest version of BEAM against Hostboot codeMark Wenning2013-05-081-1/+5
| | | | | | | | | Change-Id: I0517e3918039de9fac773baec345fefda13eb3c0 RTC: 66143 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3819 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Race condition in extract-trace.Patrick Williams2013-05-011-4/+5
| | | | | | | | Change-Id: If1445116f7520e010cad74d9f7227ae7889ef935 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4254 Tested-by: Jenkins Server Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix strict-aliasing violations.Patrick Williams2013-04-171-6/+9
| | | | | | | | | Change-Id: I5f3feae4fb62ed82b52e996d4954d1c638a243b3 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4036 Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* ERRL: Create Hostboot error log SRC/UD parser and deliver to FSP bldMike Jones2013-02-081-6/+6
| | | | | | | | | | | | | | A new script called genErrlParsers will scan the Hostboot code for error log tags and create a SRC parser for each component. The script will also scan the Hostboot code for plugin directories containing User Detail Data parsers and will create a makefile that is used by the FSP to build each component's SRC/UD parser. Change-Id: I7113f6cd8069447a1caaa199aff199b663d59072 RTC: 47518 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2975 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* TRACS override attribute for SCAN traces.Patrick Williams2013-01-022-4/+21
| | | | | | | | | Change-Id: Ia2bd15babe8ad7bd25293e72a7285c0a278b89c2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2792 Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support Trace messages for FSP.Patrick Williams2012-12-178-23/+281
| | | | | | | | | RTC: 35396 Change-Id: I0a8dddc6198d82b10780e897a284575a317862ba Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2648 Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Move continuous trace attribute.Patrick Williams2012-12-151-1/+3
| | | | | | | | | | | | FSP team wanted to have the ability to write the attribute that configures continuous trace. Created a new non-volatile r/w attribute that allows FSP to configure function in HB. Change-Id: I76784c0f97c1b8ed01aa404c9394975a6fe80e6d Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2724 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* ContTrace tool updates for new trace design.Patrick Williams2012-12-144-2/+97
| | | | | | | | Change-Id: I424ee37b29bf762b8f6a8be73ebbc2f19ba914aa Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2585 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Reduce trace buffer sizes.Patrick Williams2012-12-141-1/+2
| | | | | | | Change-Id: I13a80f814fd13a30315320c0b0c7374f39c3ecc2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2522 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Move components to slow-buffer as appropriatePatrick Williams2012-12-141-25/+25
| | | | | | | Change-Id: Ife675112b7522a03e1e44d838e7af8fdd1af5b56 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2521 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Lockless trace implementationPatrick Williams2012-12-1425-2243/+2971
| | | | | | | | | 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>
* Memory Leak task_endBill Schwartz2012-10-122-48/+48
| | | | | | | | Change-Id: Idb7a2d8d72a55f644efd0b2548eca5df5d062e6d RTC: 47491 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2011 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Trace: Remove extraneous va_end()CamVan Nguyen2012-09-161-2/+0
| | | | | | | | | Change-Id: Ia9b856252b00c5294b1891133bef24d502809c89 RTC: 35514 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1714 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Avoid malloc(0) in trace.Patrick Williams2012-08-291-28/+34
| | | | | | | | | | | | | 2% of our calls to malloc / free were of size 0 by trace when someone makes a call to trace that has no extra data (ie. just the string). Change-Id: Ifd1e7f5c843f54bc6563ae4acac18faa876be13c Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1580 Tested-by: Jenkins Server Reviewed-by: Van H. Lee <vanlee@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Maintain correct sequence number of the two continuous buffers under VPOVan Lee2012-07-281-24/+43
| | | | | | | | | | | - Also add public function to flush continuous buffers under simics Change-Id: I913e817cf3a4fd4dd88482c8e53a34873081295b Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1428 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix continuous trace function losing traces in high traffic condition.Van Lee2012-05-044-25/+327
| | | | | | | | Change-Id: I9444e222e89e44017bf3039a09ecb28e9409a389 RTC: 39164 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/917 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Code optimizations.Patrick Williams2012-04-161-1445/+1446
| | | | | | | | | | | | | | - Reduce DCBZ and ICBI calls in memory copy and init functions. - Reduce strlen calls in trace. - Set thread to low priority while waiting on in-kernel barrier. Change-Id: Ic9c23b1e26797ff393e5862819830de60554747e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/871 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* VPO continuous trace support for VBU (AWAN) execution environemtVan Lee2012-03-031-34/+136
| | | | | | | | Change-Id: Ib304cb0e203e4a4b69a07e824cb88581462463e2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/687 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix a deadlock in trace.Patrick Williams2012-02-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This is actually a workaround and based on the symptom I believe there are many other hazards in the trace code. What happened here is that a task caused a page-fault in the trace code while holding the trace mutex. This prevented code like the PNOR resource provider from being able to execute traces, which deadlocked all code. There are similar deadlock hazards in the binary and %s handling of trace. We need to revisit trace to ensure that it can never cause a page-fault while holding the global mutex. We talked recently about revamping trace entirely, so this is just one more design item to consider. Change-Id: I28e32d2d79cf419a7a7eb680627e79a88bc6a5a7 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/649 Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Van H. Lee <vanlee@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Trace macro to clear all component trace buffers.Monte Copeland2012-02-071-1305/+1335
| | | | | | | | | Change-Id: I938d142b40cce23aae0d6408c915a58cdd47d83e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/631 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Simics continuous traceMonte Copeland2012-01-112-23/+141
| | | | | | | | | Change-Id: I5f5d9c30b4cc0f0d8704fb99c10757e0f41018bf Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/603 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
* Configurable trace buffer sizes.Monte Copeland2011-12-091-122/+106
| | | | | | | Change-Id: I6b1616da00cc6f30b2e6bade5011a3a2869b4660 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/571 Tested-by: Jenkins Server Reviewed-by: Monte K. Copeland <copelanm@us.ibm.com>
* RTC4367. Update trace functions to ensure thread-safe implementation.Van Lee2011-12-091-0/+6
| | | | | | | | | Change-Id: I0a4c0d1837168927e2cc4711ce2bca2a52db76b1 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/574 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com>
* collectTrace to allow partial trace buffer collectionMonte Copeland2011-11-211-172/+313
| | | | | | | Change-Id: I06ce6df416f38c4619281180ea8515c90f8f2fab Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/498 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* Error log changes for Sprint 6Monte Copeland2011-10-311-29/+46
| | | | | | | | Change-Id: I44ad678cfae8cd84e5370391dc7e20d74f59c9ca Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/449 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: Monte K. Copeland <copelanm@us.ibm.com>
* new HEAP manager to reduce fragmentationDoug Gilbert2011-10-251-16/+7
| | | | | | | | Change-Id: Ibe725a43e6366d9113ec99df1cc6aafa7bbb770e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/431 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
* Floating point support.Patrick Williams2011-09-121-0/+23
| | | | | | | Change-Id: I859cac1c01bf631d12223702d68813b45339b65f Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/295 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Added %c and precision formatting support to trace.CamVan Nguyen2011-08-302-3/+46
| | | | | | | | | Added TRACSCOMP macros. Change-Id: If697b4d988a238b5cd06229853dded20bd0af3c1 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/286 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Add copyright headers to all source files.Patrick Williams2011-08-247-0/+154
| | | | | | | 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
* Optimize trace singleton usageCamVan Nguyen2011-08-111-10/+47
| | | | | | | | Change-Id: I0f367b8cb8dd855e21a3d74a7f4a9b29ce7508de Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/247 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Add %s string formatting support to traceCamVan Nguyen2011-08-102-39/+172
| | | | | | | Change-Id: I14ea6717dfd8e98895345e86e32e82c637c26289 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/234 Tested-by: Jenkins Server Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com>
* Linker checks for multiple weak symbols.Patrick Williams2011-07-291-11/+27
| | | | | | | | | | | | Cause the linker to stop the build if the image has multiple instances of the same weak symbol. This is to prevent, for instance, two different instances of the same Singleton<Foo> from being created in two different modules. Change-Id: I0204e69f191d63451a53b1f99dd226c9996bbccb Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/217 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Define additional trace macros.CamVan Nguyen2011-07-121-0/+42
| | | | | | | | Change-Id: Ife9c116413537ff39bc37db47515d1f955dfdcc8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/161 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Improve assert handling and options.Patrick Williams2011-07-062-1/+43
| | | | | | | | | | | | | - 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>
* Added support for individual trace buffersCamVan Nguyen2011-07-012-27/+221
| | | | | | | Change-Id: Ief2834b241df6ca2ab13ee2a440d9f081399e252 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/156 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Initial futex supportdgilbert2011-06-171-52/+26
| | | | | | | | | 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>
* Hide trace singleton within trace module.Patrick Williams2011-05-241-0/+8
| | | | | | | | Change-Id: I3d415ddf103f93833d8f2c5c4a0de2ef3efcd4e2 Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/97 Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* Updated per trace code review comments.Andrew Geissler2011-05-185-257/+288
| | | | | | | | | | | - Fixed merge issue with src/makefile - Updated per second code review - Got trace tests up and running Change-Id: I932ac4eb6d2389e39ce5efb1dd2f5cfa97f7b70b Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Initial trace support for host bootAndrew Geissler2011-05-163-33/+798
| | | | | | | Change-Id: Ib2450ae3d32549673ca8e1c814a7a11b5f1a0c09 Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/69 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Rename trace buffer to match coding conventions.Patrick Williams2011-04-084-3/+3
|
* Save the trace component string properly.Patrick Williams2011-04-011-1/+1
|
* Initial code for trace api.Patrick Williams2011-03-314-0/+164
OpenPOWER on IntegriCloud