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

mal_recycle.c: re-doing / re-applying changeset 2eb81b79cbde

(assuming it was accidentally rather than intentionally reverted in changset 
95b2be4ec9c3)


diffs (66 lines):

diff --git a/monetdb5/mal/mal_recycle.c b/monetdb5/mal/mal_recycle.c
--- a/monetdb5/mal/mal_recycle.c
+++ b/monetdb5/mal/mal_recycle.c
@@ -295,7 +295,7 @@ static void RECYCLEcleanCache(Client cnt
        int k, *leaves, *vm;
        int limit, idx;
        size_t mem;
-       lng wr = recyclerMemoryUsed - MEMORY_THRESHOLD * monet_memory;
+       lng wr = recyclerMemoryUsed - (lng) (MEMORY_THRESHOLD * monet_memory);
        dbl minben, ben;
        bte *used;
 
@@ -355,7 +355,7 @@ newpass:
 #endif
 
        /* find entries to evict */
-       mem = (size_t)recyclerMemoryUsed  > MEMORY_THRESHOLD * monet_memory ;
+       mem = recyclerMemoryUsed > (lng) (MEMORY_THRESHOLD * monet_memory) ;
        vm = (int *)GDKzalloc(sizeof(int)*ltop);
        vtop = 0;
 
@@ -371,7 +371,7 @@ newpass:
                }
                vm[vtop++] = leaves[idx];
        } else {        /* evict several to get enough memory */
-               wr = recyclerMemoryUsed - MEMORY_THRESHOLD * monet_memory;
+               wr = recyclerMemoryUsed - (lng) (MEMORY_THRESHOLD * 
monet_memory);
                k = 0;  
                for (l = 0; l < ltop; l++) {
                        // also discard leaves that are more expensive to find 
then compute
@@ -439,7 +439,7 @@ newpass:
 
        GDKfree(dmask);
        /* check if a new pass of cache cleaning is needed */
-       if ( (size_t)recyclerMemoryUsed > MEMORY_THRESHOLD * monet_memory )
+       if ( recyclerMemoryUsed > (lng) (MEMORY_THRESHOLD * monet_memory) )
        goto newpass;
 }
 
@@ -494,7 +494,7 @@ RECYCLEkeep(Client cntxt, MalBlkPtr mb, 
 
        if ( recycleBlk->stop >= recycleCacheLimit)
                return ; /* no more caching */
-       if ( (size_t)(recyclerMemoryUsed + mb->profiler[pc].wbytes) > 
MEMORY_THRESHOLD * monet_memory)
+       if ( recyclerMemoryUsed + mb->profiler[pc].wbytes > (lng) 
(MEMORY_THRESHOLD * monet_memory))
                return ; /* no more caching */
 
        rd = 0;
@@ -948,6 +948,7 @@ RECYCLEentry(Client cntxt, MalBlkPtr mb,
 void
 RECYCLEexitImpl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, 
RuntimeProfile prof)
 {
+       lng thresh;
 
        if (recycleBlk == NULL || mb->profiler == NULL)
                return;
@@ -955,7 +956,8 @@ RECYCLEexitImpl(Client cntxt, MalBlkPtr 
        if ( !RECYCLEinterest(p))
                return;
        MT_lock_set(&recycleLock, "recycle");
-       if ( (GDKmem_cursize() >  MEMORY_THRESHOLD * monet_memory  && 
recyclerMemoryUsed > MEMORY_THRESHOLD * monet_memory) || recycleBlk->stop >= 
recycleCacheLimit)
+       thresh = (lng) (MEMORY_THRESHOLD * monet_memory);
+       if ( (GDKmem_cursize() >  (size_t) thresh  && recyclerMemoryUsed > 
thresh) || recycleBlk->stop >= recycleCacheLimit)
                RECYCLEcleanCache(cntxt);
 
        /* infinite case, admit all new instructions */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to