From 25427cb954180677d4a7b23b578e117df455d892 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 20 Jul 2011 08:31:45 +0000 Subject: [PATCH] changes --- Robust/src/Runtime/bamboo/multicorecache.c | 6 +++--- Robust/src/Runtime/bamboo/multicorecache.h | 4 ++-- Robust/src/Runtime/bamboo/multicoregarbage.c | 11 ++++++----- Robust/src/Runtime/bamboo/multicoremsg.c | 2 +- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Robust/src/Runtime/bamboo/multicorecache.c b/Robust/src/Runtime/bamboo/multicorecache.c index 32445e7d..c8f50fd0 100644 --- a/Robust/src/Runtime/bamboo/multicorecache.c +++ b/Robust/src/Runtime/bamboo/multicorecache.c @@ -292,7 +292,7 @@ unsigned int cacheAdapt_decision(int coren) { // adapt the cache strategy for the mutator void cacheAdapt_mutator() { -#if defined(GC_CACHE_ADAPT_POLICY4) +#if (defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) BAMBOO_CACHE_MF(); // check the changes and adapt them unsigned int * tmp_p = gccachepolicytbl; @@ -327,7 +327,7 @@ void cacheAdapt_phase_client() { send_msg_2(STARTUPCORE, GCFINISHPREF, BAMBOO_NUM_OF_CORE); GC_PRINTF("Finish prefinish phase\n"); -#if defined(GC_CACHE_ADAPT_POLICY4) +#if (defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) CACHEADAPT_SAMPLING_RESET(); if(BAMBOO_NUM_OF_CORE < NUMCORESACTIVE) { // zero out the gccachesamplingtbl @@ -365,7 +365,7 @@ void cacheAdapt_phase_master() { cacheAdapt_gc(false); GC_CHECK_ALL_CORE_STATUS(); -#if defined(GC_CACHE_ADAPT_POLICY4) +#if (defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) CACHEADAPT_SAMPLING_RESET(); if(BAMBOO_NUM_OF_CORE < NUMCORESACTIVE) { // zero out the gccachesamplingtbl diff --git a/Robust/src/Runtime/bamboo/multicorecache.h b/Robust/src/Runtime/bamboo/multicorecache.h index 7e903445..79fdf039 100644 --- a/Robust/src/Runtime/bamboo/multicorecache.h +++ b/Robust/src/Runtime/bamboo/multicorecache.h @@ -51,7 +51,7 @@ void cacheAdapt_phase_master(); void gc_output_cache_sampling(); void gc_output_cache_sampling_r(); -#if defined(GC_CACHE_SAMPLING)&&defined(GC_CACHE_ADAPT_POLICY4) +#if defined(GC_CACHE_SAMPLING)&&(defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) // enable the timer interrupt #define CACHEADAPT_ENABLE_TIMER() \ { \ @@ -69,7 +69,7 @@ void gc_output_cache_sampling_r(); #define CACHEADAPT_SAMPLING_RESET() #endif -#if defined(GC_CACHE_ADAPT_POLICY4) +#if (defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) #define CACHEADAPT_FINISH_SRC_PAGE(a,b,c) cacheadapt_finish_src_page(a,b,c); #define CACHEADAPT_FINISH_DST_PAGE(a,b,c,d) cacheadapt_finish_dst_page(a,b,c,d); #define CACHEADAPT_FINISH_COMPACT(a) cacheadapt_finish_compact(a); diff --git a/Robust/src/Runtime/bamboo/multicoregarbage.c b/Robust/src/Runtime/bamboo/multicoregarbage.c index 5f367e6d..90493563 100644 --- a/Robust/src/Runtime/bamboo/multicoregarbage.c +++ b/Robust/src/Runtime/bamboo/multicoregarbage.c @@ -447,12 +447,12 @@ void gc_master(struct garbagelist * stackptr) { CACHEADAPT_GC(true); //tprintf("Check core status \n"); GC_CHECK_ALL_CORE_STATUS(); - GCPROFILE_ITEM_MASTER(); unsigned long long tmpt = BAMBOO_GET_EXE_TIME(); CACHEADAPT_OUTPUT_CACHE_SAMPLING(); gc_output_cache_policy_time += (BAMBOO_GET_EXE_TIME()-tmpt); //tprintf("start mark phase\n"); // do mark phase + GCPROFILE_ITEM_MASTER(); master_mark(stackptr); GCPROFILE_ITEM_MASTER(); //tprintf("finish mark phase\n"); @@ -508,7 +508,7 @@ void pregccheck() { } void pregcprocessing() { -#if defined(GC_CACHE_ADAPT)&&defined(GC_CACHE_SAMPLING)&&defined(GC_CACHE_ADAPT_POLICY4) +#if defined(GC_CACHE_ADAPT)&&defined(GC_CACHE_SAMPLING)&&(defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) // disable the timer interrupt bamboo_mask_timer_intr(); // get the sampling data @@ -517,7 +517,7 @@ void pregcprocessing() { } void postgcprocessing() { -#if defined(GC_CACHE_ADAPT)&&defined(GC_CACHE_SAMPLING)&&defined(GC_CACHE_ADAPT_POLICY4) +#if defined(GC_CACHE_ADAPT)&&defined(GC_CACHE_SAMPLING)&&(defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) // enable the timer interrupt bamboo_tile_timer_set_next_event(GC_TILE_TIMER_EVENT_SETTING); bamboo_unmask_timer_intr(); @@ -538,6 +538,9 @@ bool gc(struct garbagelist * stackptr) { // core coordinator routine if(0 == BAMBOO_NUM_OF_CORE) { + GC_PRINTF("start gc! \n"); + GCPROFILE_START_MASTER(); + GC_PRINTF("Check if we can do gc or not\n"); gccorestatus[BAMBOO_NUM_OF_CORE] = 0; pregcprocessing(); @@ -547,8 +550,6 @@ bool gc(struct garbagelist * stackptr) { ; //pregccheck(); - GCPROFILE_START_MASTER(); - GC_PRINTF("start gc! \n"); gc_master(stackptr); } else if(BAMBOO_NUM_OF_CORE < NUMCORES4GC) { GC_PRINTF("Core reporting for gc.\n"); diff --git a/Robust/src/Runtime/bamboo/multicoremsg.c b/Robust/src/Runtime/bamboo/multicoremsg.c index 43b335c2..e620a8dd 100644 --- a/Robust/src/Runtime/bamboo/multicoremsg.c +++ b/Robust/src/Runtime/bamboo/multicoremsg.c @@ -353,7 +353,7 @@ void processmsg_statusreport_I() { void processmsg_terminate_I() { disruntimedata(); -#if defined(MULTICORE_GC)&&defined(GC_CACHE_ADAPT)&&defined(GC_CACHE_SAMPLING)&&defined(GC_CACHE_ADAPT_POLICY4) +#if defined(MULTICORE_GC)&&defined(GC_CACHE_ADAPT)&&defined(GC_CACHE_SAMPLING)&&(defined(GC_CACHE_ADAPT_POLICY4)||defined(GC_CACHE_ADAPT_POLICY3)) bamboo_mask_timer_intr(); // disable the TILE_TIMER interrupt #endif BAMBOO_EXIT_APP(0); -- 2.34.1