diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2013-10-22 15:10:18 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-11-07 14:49:45 -0600 |
commit | 2d6ab3cf820134bd3086139adea76f51bbdceb64 (patch) | |
tree | 85111c6a6b313bfa5044e3e45ba9fb9df5890bc6 /src/kernel/syscall.C | |
parent | 7c27703341d61f28b204254ad96c3fea5840bb73 (diff) | |
download | talos-hostboot-2d6ab3cf820134bd3086139adea76f51bbdceb64.tar.gz talos-hostboot-2d6ab3cf820134bd3086139adea76f51bbdceb64.zip |
Handle winkle-wakeup times in slave cores.
Change-Id: I6978d66ecfdef57da9754e6251d2ac1d3d078210
RTC: 73559
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6851
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/kernel/syscall.C')
-rw-r--r-- | src/kernel/syscall.C | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C index be2b51d59..38178499c 100644 --- a/src/kernel/syscall.C +++ b/src/kernel/syscall.C @@ -409,7 +409,7 @@ namespace Systemcalls mq->messages.insert(mp); if (!m->__reserved__pseudosync) { - // Choose next thread to execute, this one is delayed. + // Choose next task to execute, this one is delayed. t->cpu->scheduler->setNextRunnable(); } // For pseudo-sync, just keep running the current task. } @@ -670,9 +670,10 @@ namespace Systemcalls /** Prep core for activation. */ void CpuStartCore(task_t *t) { - TASK_SETRTN(t, - CpuManager::startCore(static_cast<uint64_t>(TASK_GETARG0(t)), - static_cast<uint64_t>(TASK_GETARG1(t)))); + // This will cause another task to be scheduled in while the + // core is started. + CpuManager::startCore(static_cast<uint64_t>(TASK_GETARG0(t)), + static_cast<uint64_t>(TASK_GETARG1(t))); }; /** Read SPR values. */ |