summaryrefslogtreecommitdiffstats
path: root/src/kernel/futexmgr.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2014-02-17 13:32:15 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-02-27 11:20:44 -0600
commit850f884974dac7973f22341920fbb7277cf80245 (patch)
tree4a870919aa2b2e8dcfce16ebddbc5cc3cba0dcf8 /src/kernel/futexmgr.C
parent19cd4e5ddb80c98365612590cc58e7d0de49f69c (diff)
downloadblackbird-hostboot-850f884974dac7973f22341920fbb7277cf80245.tar.gz
blackbird-hostboot-850f884974dac7973f22341920fbb7277cf80245.zip
Clean up TODOs in Kernel.
* Ensure that unhandled SRESET will trigger TI. Change-Id: I34807bc357ba6908327ede975afc9c6b6b17c098 RTC: 92848 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8933 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/kernel/futexmgr.C')
-rw-r--r--src/kernel/futexmgr.C51
1 files changed, 26 insertions, 25 deletions
diff --git a/src/kernel/futexmgr.C b/src/kernel/futexmgr.C
index f66452543..b88bcf370 100644
--- a/src/kernel/futexmgr.C
+++ b/src/kernel/futexmgr.C
@@ -1,25 +1,25 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/kernel/futexmgr.C $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/kernel/futexmgr.C $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* */
+/* p1 */
+/* */
+/* Object Code Only (OCO) source materials */
+/* Licensed Internal Code Source Materials */
+/* IBM HostBoot Licensed Internal Code */
+/* */
+/* The source code for this program is not published or otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
/**
* @file futexmgr.C
* @brief Definition for kernel side futex management
@@ -94,7 +94,7 @@ uint64_t FutexManager::_wake(uint64_t * i_futex1, uint64_t i_count1,
uint64_t started = 0;
iv_lock.lock();
-
+
// First start up to i_count1 task(s)
while(started < i_count1)
{
@@ -123,8 +123,9 @@ uint64_t FutexManager::_wake(uint64_t * i_futex1, uint64_t i_count1,
// Move up to i_count2 tasks to futex2
while(moved < i_count2)
{
- // What if *i_futex2 got modified !!!! TODO
- // Do we need a safety check here (another val param) ????
+ // Note: i_futex2 could be modified by this point due to tasks
+ // released from i_count1. Userspace has to handle this
+ // appropriately (currently only in sync_cond_wait).
_FutexWait_t * waiter = iv_list.find(i_futex1);
if(waiter == NULL)
{
OpenPOWER on IntegriCloud