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