summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/common/pgLogic.C
Commit message (Collapse)AuthorAgeFilesLines
* Improve performance of general PG algorithmMatthew Raybuck2019-03-181-34/+34
| | | | | | | | | | | | | | | | | | | The previous PG algorithm had several places where targets would be rechecked or modified unnecessarily. This commit restructures the PG algorithm and pulls all related code out of discoverTargets and adds it to checkPartialGoodForDescendants which will be called by discoverTargets. Change-Id: I045f17f7ac22c673633cd3d951997b2371be1b8d RTC:206066 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72732 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: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Improve performance of Partial Good logicMatthew Raybuck2019-03-011-8/+19
| | | | | | | | | | | | | | | | | | | | The function PARTIAL_GOOD::findRulesForTarget() would call masterProcChipTargetHandle() to figure out if a rule applied to a specific target based on the ATTR_MODEL of a system. Since finding the master proc that way is an expensive operation, findRulesForTarget() will now use an instance variable initialized once instead of querying for it repeatedly thereby increasing performance substantially. Change-Id: I6e9c01daf356fe21d76d920f5d3210717f5094c1 CQ:SW450113 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72620 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Handle partial-bad MCS logic correctlyDan Crowell2019-02-191-0/+4
| | | | | | | | | | | | | | | | | One of the rewritten PG rules was incorrect for modules that have a MCS marked bad, e.g. Sforza. Change-Id: I30672b51f81ba74b51ece6e878e462106c090350 CQ: SW457231 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72010 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@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: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Better logging for Partial Good Issues (2/2)Matt Raybuck2019-02-151-6/+81
| | | | | | | | | | | | | | | | | | | PG issues were only ever displayed in traces. This commit creates a new error log user detail section that will display the PG vector and highlight which entries have issues. In addition, targets that are determined to be non-functional will be added to the log and a hardware callout will be added if a chip is found non-functional. Change-Id: I9b401bcd5686951303946789034671c1a395fb91 RTC:180365 CMVC-Prereq:1075293 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70004 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Remove hardcoding of partial good logic (2/2)Matt Raybuck2018-12-031-0/+416
| | | | | | | | | | | | | | | | | The original pg logic was a hard-coded criss-crossed jumble of logic that was difficult to understand. It has now been generalized to an algorithm that applies the correct logic based on a set of rules kept in a table. This should make it easier to understand and maintain going forward. Change-Id: I51435cc2ca6bbfa9ebc8a3d52d4ebf23b5bd2730 RTC:193270 CMVC-Prereq: 1072559 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68232 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Remove hardcoding of partial good logic (1/2)Matt Raybuck2018-11-141-0/+24
This is the first commit of two. This commit will allow hwsv project to be able to add necessary changes to fips930/src/hwsv/server/makefile and still compile and pass CI before the rest of the code for this story is added. Change-Id: I3547f00e054fc593e31bbe2f2281cff95d385a17 RTC:193270 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68702 Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@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: 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>
OpenPOWER on IntegriCloud