diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2018-06-20 10:27:43 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-06-22 10:41:00 -0400 |
commit | 630c378b8ddea3a9a42c2f909da2eb7f5e057a6c (patch) | |
tree | 993e8638cd31c5bdab180fdca6fa8c210258dd0e /src/usr/diag/prdf/common | |
parent | 5a3703db513ae72f45a7f3a83ffae45f64b255fd (diff) | |
download | talos-hostboot-630c378b8ddea3a9a42c2f909da2eb7f5e057a6c.tar.gz talos-hostboot-630c378b8ddea3a9a42c2f909da2eb7f5e057a6c.zip |
PRD: reduce number of ways TPS can be banned
Currently, TPS can be banned via the TpsEvent construtor and through
MemTdCtlr::banTps(). This causes some confusion so the TpsEvent
contructor has been modified.
Change-Id: I8ef9e3fd21857ffdffdd358dc5627d2f42a227f7
CQ: SW433793
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60970
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61035
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>
Diffstat (limited to 'src/usr/diag/prdf/common')
-rw-r--r-- | src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C index bf0508d70..ab5cae95a 100644 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C @@ -836,10 +836,11 @@ uint32_t analyzeFetchUe( ExtensibleChip * i_chip, #ifdef __HOSTBOOT_RUNTIME - // Add a TPS request to the TD queue and ban any further TPS requests - // for this rank. + // Add a TPS request to the TD queue for additional analysis. It is + // unlikely the procedure will result in a repair because of the UE. + // However, we want to run TPS once just to see how bad the rank is. MemRank rank = addr.getRank(); - MemDbUtils::pushToQueue<T>(i_chip, new TpsEvent<T>(i_chip, rank, true)); + MemDbUtils::pushToQueue<T>( i_chip, new TpsEvent<T>(i_chip, rank) ); o_rc = MemDbUtils::handleTdEvent<T>( i_chip, io_sc ); if ( SUCCESS != o_rc ) { @@ -848,6 +849,10 @@ uint32_t analyzeFetchUe( ExtensibleChip * i_chip, break; } + // Because of the UE, any further TPS requests will likely have no + // effect. So ban all subsequent requests. + MemDbUtils::banTps<T>( i_chip, rank ); + #endif // __HOSTBOOT_RUNTIME } while (0); |