Added API to run a function in multiple CPUs, and wait for completion
[akaros.git] / kern / include / smp.h
index d4a4940..3d4fe95 100644 (file)
@@ -17,6 +17,7 @@
 #include <syscall.h>
 #include <alarm.h>
 #include <trace.h>
+#include <core_set.h>
 
 #define CPU_STATE_IRQ                  0
 #define CPU_STATE_KERNEL               1
@@ -154,6 +155,9 @@ struct pcpu_trace_event {
 
 #endif /* CONFIG_TRACE_LOCKS */
 
+void smp_do_in_cores(const struct core_set *cset, void (*func)(void *),
+                                        void *opaque);
+
 /* Run the handlers for all events in a pcpui ring.  Can run on all cores, or
  * just one core.  'type' selects which event type is handled (0 for all). */
 void pcpui_tr_foreach(int coreid, int type);