Changeset: 4ff6a1562471 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4ff6a1562471
Modified Files:
        gdk/gdk_utils.mx
        monetdb5/modules/mal/tablet_mk.c
        monetdb5/modules/mal/tablet_si.c
Branch: Aug2011
Log Message:

GDKnr_thread use check.


diffs (65 lines):

diff --git a/gdk/gdk_utils.mx b/gdk/gdk_utils.mx
--- a/gdk/gdk_utils.mx
+++ b/gdk/gdk_utils.mx
@@ -1602,7 +1602,7 @@ GDKvmtrim(void *limit)
 
        if (membits == 0) {
                /* compute rounded down log2 of memsize / nr_threads */
-               size_t s = GDK_mem_maxsize_max / GDKnr_threads;
+               size_t s = GDK_mem_maxsize_max / (GDKnr_threads? 
GDKnr_threads:1);
                while ((s >>= 1) > 0)
                        membits++;
                membits = (MAX(0, membits - MT_MMAP_LOG)) / 4;
@@ -1779,7 +1779,7 @@ GDKinit(opt *set, int setlen)
                GDKnr_threads = MT_check_nr_cores();
 #ifdef NATIVE_WIN32
        if (GDKnr_threads)
-               GDK_mmap_minsize /= GDKnr_threads;
+               GDK_mmap_minsize /= (GDKnr_threads? GDKnr_threads: 1);
 #else
        GDK_mmap_minsize = 256 * 1024 * 1024;
 #endif
diff --git a/monetdb5/modules/mal/tablet_mk.c b/monetdb5/modules/mal/tablet_mk.c
--- a/monetdb5/modules/mal/tablet_mk.c
+++ b/monetdb5/modules/mal/tablet_mk.c
@@ -585,8 +585,8 @@ SQLload_file(Client cntxt, Tablet * as, 
        BUN i;
        size_t rseplen;
        READERtask *task= (READERtask*) GDKzalloc(sizeof(READERtask));
-       READERtask ptask[16];
-       int threads= GDKnr_threads < 16? GDKnr_threads: 16;
+       READERtask ptask[128];
+       int threads= GDKnr_threads < MT_check_nr_cores()? GDKnr_threads: 
MT_check_nr_cores();
        lng t0, total=0;
        int askmore = 0;
        int vmtrim = GDK_vm_trim;
@@ -595,6 +595,7 @@ SQLload_file(Client cntxt, Tablet * as, 
        /* on sf10 experiments it should a slowdown of a factor 2 on */
        /* large tables. Instead rely on madvise */
        GDK_vm_trim = 0;
+       assert(GDKnr_threads <128);
 
        assert(rsep);
        assert(csep);
diff --git a/monetdb5/modules/mal/tablet_si.c b/monetdb5/modules/mal/tablet_si.c
--- a/monetdb5/modules/mal/tablet_si.c
+++ b/monetdb5/modules/mal/tablet_si.c
@@ -1360,8 +1360,8 @@ SQLload_file(Client cntxt, Tablet * as, 
        BUN i;
        size_t rseplen;
        READERtask *task= (READERtask*) GDKzalloc(sizeof(READERtask));
-       READERtask ptask[16];
-       int threads= GDKnr_threads < 16? GDKnr_threads: 16;
+       READERtask ptask[128];
+       int threads= GDKnr_threads < MT_check_nr_cores()? GDKnr_threads: 
MT_check_nr_cores();
        lng t0, total=0, startTime=GDKusec();
        int askmore = 0;
        int vmtrim = GDK_vm_trim;
@@ -1369,6 +1369,7 @@ SQLload_file(Client cntxt, Tablet * as, 
        /* on sf10 experiments it should a slowdown of a factor 2 on */
        /* large tables. Instead rely on madvise */
        GDK_vm_trim = 0;
+       assert(GDKnr_threads <128);
 
 
        assert(rsep);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to