diff options
| author | Dan Crowell <dcrowell@us.ibm.com> | 2015-05-13 14:48:35 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-06-08 13:30:31 -0500 |
| commit | 131fe4ebed0dfd679c30c7f13a218628f1b97d1f (patch) | |
| tree | 8a162cd11213aaf36b080a90b652c784f3f4f0b9 /src/usr/mbox/test | |
| parent | 3e271df498c46f0e532052662fe02715d0898bf4 (diff) | |
| download | talos-hostboot-131fe4ebed0dfd679c30c7f13a218628f1b97d1f.tar.gz talos-hostboot-131fe4ebed0dfd679c30c7f13a218628f1b97d1f.zip | |
Avoid deadlock in cross-node IPC messaging
Move poll for empty queue out of kernel space to allow for
the primary thread to see new interrupts and clear out
incoming messages. This will prevent 2 nodes from deadlocking
one another while they wait for each other to handle the last
message that was sent to them.
Change-Id: Icbe4e0f621661a37c704b4ac4cdf111664b2039d
CQ: SW298667
Backport: release-fips820
Backport: release-fips830
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17788
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/mbox/test')
| -rw-r--r-- | src/usr/mbox/test/mboxsptest.H | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/usr/mbox/test/mboxsptest.H b/src/usr/mbox/test/mboxsptest.H index 765031f5c..e0058d8e6 100644 --- a/src/usr/mbox/test/mboxsptest.H +++ b/src/usr/mbox/test/mboxsptest.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ +/* [+] International Business Machines Corp. */ +/* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ /* you may not use this file except in compliance with the License. */ @@ -334,6 +336,7 @@ class MboxSPTest : public CxxTest::TestSuite */ void testIPC(void) { + TRACFCOMP(g_trac_mbox,"testIPC>"); errlHndl_t err = NULL; msg_t * msg = msg_allocate(); msg_t * tmsg = msg_allocate(); @@ -384,6 +387,7 @@ class MboxSPTest : public CxxTest::TestSuite msg_q_destroy(msgQ); msg_free(rmsg); msg_free(tmsg); + TRACFCOMP(g_trac_mbox,"<testIPC"); } }; |

