Skip to content
Snippets Groups Projects
Commit f1c91e06 authored by Martin Karsten's avatar Martin Karsten
Browse files

- add TESTING_WAKE_CLUSTER option

parent 688f40f9
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,7 @@
#include "runtime/Cluster.h"
#include "runtime/RuntimeImpl.h"
// from background enqueue -> find idle "real" processor to run
// from background & staging enqueue -> find idle "real" processor to run
void VirtualProcessor::wakeUp() {
BaseProcessor* idleProc = cluster.findIdleProcessorHard();
GENASSERT1(idleProc != this, FmtHex(this));
......@@ -26,8 +26,10 @@ void VirtualProcessor::wakeUp() {
// any other enqueue -> wake idle processor, but don't try too hard
void VirtualProcessor::wakeCluster() {
#if TESTING_WAKE_CLUSTER
BaseProcessor* idleProc = cluster.findIdleProcessorSoft();
if (idleProc && idleProc != this) idleProc->wakeUp();
#endif
}
BaseProcessor::BaseProcessor(Cluster& c) : VirtualProcessor(c, "Processor"), terminate(false), idleStack(nullptr) {
......
......@@ -22,6 +22,7 @@
//#define TESTING_MUTEX_FIFO 1 // use fifo/baton mutex
//#define TESTING_MUTEX_SPIN 1 // spin before block in non-fifo mutex
//#define TESTING_PLACEMENT_RR 1 // RR placement, instead of load-based
#define TESTING_WAKE_CLUSTER 1 // try waking idle processor on cluster backlog
#define TESTING_WORK_STEALING 1 // enable work stealing (default transient)
#define TESTING_WORK_STEALING_STICKY 5 // sticky work stealing load threshold
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment