Changeset: 552e730a8fd0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=552e730a8fd0
Modified Files:
        monetdb5/mal/mal.c
Branch: Feb2013
Log Message:

fixed single-core/-thread execution after changeset e79b2edeba71: avoid 
mal_parallelism == 0

After changeset e79b2edeba71, on a single-core system or with a single-thread,
mal_parallelism was set to 0, preventing correct functioning of the server.

We no at least prevent mal_parallelism == 0 .

However, this means that with 1 core/thread,
we now get mal_parallelism == 4,
wheile with 2, 3, 4, 5, 6, 7 cores/threads,
we now get mal_parallelism == 1, 1, 2, 2, 3, 3, i.e., < 4 !??

Maybe, we should consider either of the following alternatives:

MT_sema_init( &mal_parallelism, (GDKnr_threads > 2 ? GDKnr_threads/2 : 1), 
"mal_parallelism");
MT_sema_init( &mal_parallelism, (GDKnr_threads > 4 ? GDKnr_threads/2 : 2), 
"mal_parallelism");
MT_sema_init( &mal_parallelism, (GDKnr_threads > 6 ? GDKnr_threads/2 : 3), 
"mal_parallelism");
MT_sema_init( &mal_parallelism, (GDKnr_threads > 8 ? GDKnr_threads/2 : 4), 
"mal_parallelism");

MT_sema_init( &mal_parallelism, (GDKnr_threads     ? GDKnr_threads   : 1), 
"mal_parallelism");

?


diffs (12 lines):

diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -234,7 +234,7 @@ int mal_init(void){
        MT_lock_init( &mal_profileLock, "mal_profileLock");
        MT_lock_init( &mal_copyLock, "mal_copyLock");
        MT_lock_init( &mal_delayLock, "mal_delayLock");
-       MT_sema_init( &mal_parallelism, (GDKnr_threads ? GDKnr_threads/2: 4), 
"mal_parallelism");
+       MT_sema_init( &mal_parallelism, (GDKnr_threads > 1 ? GDKnr_threads/2: 
4), "mal_parallelism");
 
        tstAligned();
        MCinit();
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to