diff options
author | Prachi Gupta <pragupta@us.ibm.com> | 2018-06-20 13:18:33 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-06-20 21:54:38 -0400 |
commit | cc638c9bdc4e7d0bc35a365fd72e64cf4f750ef0 (patch) | |
tree | a8284dae5de28ea20739ec7d1b2d539a51a1b447 /src/usr/initservice/istepdispatcher | |
parent | 8dba363050dcc367bbb05f838de6f7640deba6b3 (diff) | |
download | talos-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.C | 6 |
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 |