summaryrefslogtreecommitdiffstats
path: root/src/lib/syscall_misc.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/syscall_misc.C')
-rw-r--r--src/lib/syscall_misc.C18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/syscall_misc.C b/src/lib/syscall_misc.C
index 7f490e2ac..f2b50bb01 100644
--- a/src/lib/syscall_misc.C
+++ b/src/lib/syscall_misc.C
@@ -85,7 +85,23 @@ int cpu_master_winkle()
task_affinity_pin();
task_affinity_migrate_to_master();
- int rc = reinterpret_cast<int64_t>(_syscall0(MISC_CPUWINKLE));
+ int rc = reinterpret_cast<int64_t>(
+ _syscall1(MISC_CPUWINKLE,
+ reinterpret_cast<void*>(WINKLE_SCOPE_MASTER)));
+
+ task_affinity_unpin();
+
+ return rc;
+}
+
+int cpu_all_winkle()
+{
+ task_affinity_pin();
+ task_affinity_migrate_to_master();
+
+ int rc = reinterpret_cast<int64_t>(
+ _syscall1(MISC_CPUWINKLE,
+ reinterpret_cast<void*>(WINKLE_SCOPE_ALL)));
task_affinity_unpin();
OpenPOWER on IntegriCloud