Changeset: 091a952d91aa for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=091a952d91aa
Modified Files:
        monetdb5/extras/crackers/crackers_holistic.c
        monetdb5/mal/mal_profiler.c
Branch: holindex
Log Message:

Use a thread pool that executes concurrently as many jobs as the number of idle 
cores.


diffs (39 lines):

diff --git a/monetdb5/extras/crackers/crackers_holistic.c 
b/monetdb5/extras/crackers/crackers_holistic.c
--- a/monetdb5/extras/crackers/crackers_holistic.c
+++ b/monetdb5/extras/crackers/crackers_holistic.c
@@ -36,20 +36,12 @@ IdleFuncPtr IdleFunc;
 str
 CRKinitHolistic(int *ret)
 {
-       int i,j;
-       char* p;
        IdleFunc=&CRKrandomCrack;
-       p = getenv("HOLTHREADS");
-       if (p == NULL)
-               j = 0;
-       else
-               j = atoi(p);
-       idletime_thread = GDKzalloc(j * sizeof(*idletime_thread));
+       idletime_thread = GDKzalloc(sizeof(*idletime_thread));
        cpuload_thread = GDKzalloc(sizeof(*cpuload_thread));
        MT_lock_init(&frequencylock, "FrequencyStruct");
        MT_lock_init(&CRKIndexLock, "Cracker Index Lock");
-       for(i=0;i<j;i++)
-               MT_create_thread(&idletime_thread[i],(void (*)(void 
*))HeartbeatCPUload, IdleFunc, MT_THR_JOINABLE);
+       MT_create_thread(idletime_thread,(void (*)(void *))HeartbeatCPUload, 
IdleFunc, MT_THR_JOINABLE);
        MT_create_thread(cpuload_thread,(void (*)(void 
*))HeartbeatCPUload_total, NULL, MT_THR_JOINABLE);
        *ret = 0;
        return MAL_SUCCEED;
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -1356,8 +1356,7 @@ void HeartbeatCPUload(void *arg)
                        n = max_threads - N;
                        (void) n;
                        t0 = GDKusec();
-                       //MRschedule(n, NULL, IdleFunc);
-                       IdleFunc(NULL);
+                       MRschedule(n, NULL, IdleFunc);
                        t1 = GDKusec();
                        t = 10000 - (t1 - t0);
                        if (t < 0 ) 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to