summaryrefslogtreecommitdiffstats
path: root/src/lib/syscall_task.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2011-08-23 15:16:35 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2011-08-31 13:39:51 -0500
commitf7b7b56dea28dd69a44a877f7b7073c4496ced9e (patch)
tree640fdb38b13df41c5f0835374033d53b21d163ca /src/lib/syscall_task.C
parente6b1dcfdee1467cf7f43b64c8dddb87f13bf2f10 (diff)
downloadtalos-hostboot-f7b7b56dea28dd69a44a877f7b7073c4496ced9e.tar.gz
talos-hostboot-f7b7b56dea28dd69a44a877f7b7073c4496ced9e.zip
Ensure scratch operations happen on master core.
Change-Id: I970d645108de041d410599847edce877cb794015 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/275 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/lib/syscall_task.C')
-rw-r--r--src/lib/syscall_task.C19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/syscall_task.C b/src/lib/syscall_task.C
index d986d5374..2e28afd0e 100644
--- a/src/lib/syscall_task.C
+++ b/src/lib/syscall_task.C
@@ -70,9 +70,9 @@ tid_t task_exec(const char* file, void* ptr)
{
// The VFS process is responsible for finding the module and creating the
// new process. So, we send a message over to that process.
-
- tid_t child = -1;
-
+
+ tid_t child = -1;
+
// Create message, send.
msg_q_t vfsQ = (msg_q_t)_syscall0(MSGQ_RESOLVE_ROOT);
msg_t* msg = msg_allocate();
@@ -83,14 +83,14 @@ tid_t task_exec(const char* file, void* ptr)
if (0 == rc)
{
- // Get child ID from message data 0.
- child = (tid_t) msg->data[0];
+ // Get child ID from message data 0.
+ child = (tid_t) msg->data[0];
}
else
{
- child = rc;
+ child = rc;
}
-
+
msg_free(msg);
return child;
}
@@ -114,3 +114,8 @@ void task_affinity_unpin()
// Decrement pin count.
__sync_sub_and_fetch(&task->affinity_pinned, 1);
}
+
+void task_affinity_migrate_to_master()
+{
+ _syscall0(TASK_MIGRATE_TO_MASTER);
+}
OpenPOWER on IntegriCloud