summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice/istepdispatcher
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2018-06-20 13:18:33 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-06-20 21:54:38 -0400
commitcc638c9bdc4e7d0bc35a365fd72e64cf4f750ef0 (patch)
treea8284dae5de28ea20739ec7d1b2d539a51a1b447 /src/usr/initservice/istepdispatcher
parent8dba363050dcc367bbb05f838de6f7640deba6b3 (diff)
downloadtalos-hostboot-cc638c9bdc4e7d0bc35a365fd72e64cf4f750ef0.tar.gz
talos-hostboot-cc638c9bdc4e7d0bc35a365fd72e64cf4f750ef0.zip
Added in a sleep after we winkle in istep 18 to avoid race conditions
We are adding in a sleep to make sure that all the nodes are awake from the winkle prior to writing the HRMOR in the core scratch register for IPC to function properly. CQ:SW433411 Change-Id: I01eb6c1005047c4c6eebe5c15db083e6ec9df1e0 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60992 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Disable-CI: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/initservice/istepdispatcher')
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index 8e18d2177..47d0ebc76 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -2182,6 +2182,12 @@ void IStepDispatcher::handleProcFabIovalidMsg(msg_t * & io_pMsg)
"Returned from cpu_all_winkle." );
}
+ //Temporary hack to sleep for 15 seconds to avoid race condition
+ //where other nodes are trying to read the core scratch registers
+ //while this node might not be out of winkle. To make it worse,
+ //if we fail in this case, we don't TI gracefully.
+ nanosleep(15,0);
+
// identify IPC msg address to remote node(s)
// this must be after the winkle call because the data is stored
// in a core scom which will get lost
OpenPOWER on IntegriCloud