Changeset: aa7dc5cc3dd9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aa7dc5cc3dd9
Modified Files:
monetdb5/mal/mal_dataflow.c
Branch: default
Log Message:
Only create extra thread when we go into the recursion
diffs (25 lines):
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -676,9 +676,10 @@ runMALdataflow(Client cntxt, MalBlkPtr m
return MAL_SUCCEED;
}
i = THREADS; /* we didn't create an extra
thread */
- } else {
+ } else
+ if( stk->calldepth){
/* create one more worker to compensate for our waiting until
- * all work is done */
+ * all work is done, provided we are about to perform a
recursive call */
MT_lock_set(&mal_contextLock, "runMALdataflow");
for (i = 0; i < THREADS && todo->exitedcount > 0; i++) {
if (workers[i].flag == EXITED) {
@@ -705,7 +706,7 @@ runMALdataflow(Client cntxt, MalBlkPtr m
*ret = TRUE;
return MAL_SUCCEED;
}
- }
+ } else i = THREADS;
assert(todo);
flow = (DataFlow)GDKzalloc(sizeof(DataFlowRec));
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list