Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
changeset 285:7b6f8cf08b1f Dev_ML
Minor -- gave malloc its own lock and renamed TopLevelFn to BirthFn
| author | Sean Halle <seanhalle@yahoo.com> |
|---|---|
| date | Wed, 12 Jun 2013 14:12:06 -0700 |
| parents | 72ffdb11ad8e |
| children | b02b34681414 |
| files | AnimationMaster.c HW_Dependent_Primitives/PR__primitives.c HW_Dependent_Primitives/PR__primitives.h HW_Dependent_Primitives/PR__primitives_asm.s PR.c PR__PI.c PR__SS.c PR__WL.c PR__WL.h PR__int.c PR__int.h PR__structs.h Services_Offered_by_PR/Measurement_and_Stats/probes.c Services_Offered_by_PR/Memory_Handling/vmalloc.c Services_Offered_by_PR/Services_Language/PRServ_SS.c |
| diffstat | 15 files changed, 135 insertions(+), 58 deletions(-) [+] |
line diff
1.1 --- a/AnimationMaster.c Wed May 22 17:40:23 2013 -0700 1.2 +++ b/AnimationMaster.c Wed Jun 12 14:12:06 2013 -0700 1.3 @@ -34,6 +34,9 @@ 1.4 inline void 1.5 handleThrowException( PRServiceReq *langReq, PRLangEnv *protoLangEnv ); 1.6 1.7 +void 1.8 +debug_print_req(AnimSlot *slot, PRReqst *req); 1.9 + 1.10 //=========================================================================== 1.11 1.12 /*Note: there used to be a coreController that was another animation 1.13 @@ -73,7 +76,6 @@ 1.14 if( slot->workIsDone ) 1.15 { slot->workIsDone = FALSE; 1.16 slot->needsWorkAssigned = TRUE; 1.17 -printf("top handle request: %d | reqType: %d\n", slot->coreSlotIsOn, (int32)req->reqType );fflush(stdin); 1.18 1.19 //An Idle VP has no request to handle, so skip to assign.. 1.20 if( slot->slaveAssignedToSlot->typeOfVP != IdleVP && 1.21 @@ -86,6 +88,7 @@ 1.22 //process the request made by the slave (held inside slave struc) 1.23 slave = slot->slaveAssignedToSlot; 1.24 req = slave->request; 1.25 + debug_print_req(slot, req); 1.26 1.27 //If the requesting slave is a slot slave, and request is not 1.28 // task-end, then turn it into a free task slave & continue 1.29 @@ -592,3 +595,27 @@ 1.30 (*protoLangEnv->makeSlaveReadyFn)( langReq->requestingSlv, PR_int__give_lang_env(protoLangEnv) ); 1.31 } 1.32 1.33 +void 1.34 +debug_print_req(AnimSlot *slot, PRReqst *req) 1.35 + { 1.36 + if(dbgMaster) 1.37 + { printf("top handle request: %d | reqType: ", slot->coreSlotIsOn ); 1.38 + switch(req->reqType) 1.39 + { case TaskCreate: printf("TaskCreate \n"); break; 1.40 + case TaskEnd: printf("TaskEnd \n"); break; 1.41 + case SlvCreate: printf("SlvCreate \n"); break; 1.42 + case SlvDissipate: printf("SlvDissipate \n"); break; 1.43 + case Language: printf("Language \n"); break; 1.44 + case Service: printf("Service \n"); break; 1.45 + case Hardware: printf("Hardware \n"); break; 1.46 + case IO: printf("IO \n"); break; 1.47 + case OSCall: printf("OSCall \n"); break; 1.48 + case LangShutdown: printf("LangShutdown \n"); break; 1.49 + case ProcessEnd: printf("ProcessEnd \n"); break; 1.50 + case PRShutdown: printf("PRShutdown \n"); break; 1.51 + } 1.52 + fflush(stdin); 1.53 + } 1.54 + } 1.55 + 1.56 +
2.1 --- a/HW_Dependent_Primitives/PR__primitives.c Wed May 22 17:40:23 2013 -0700 2.2 +++ b/HW_Dependent_Primitives/PR__primitives.c Wed Jun 12 14:12:06 2013 -0700 2.3 @@ -18,14 +18,14 @@ 2.4 * carefully that it's safe) 2.5 */ 2.6 inline void 2.7 -PR_int__reset_slaveVP_to_TopLvlFn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, 2.8 +PR_int__reset_slaveVP_to_BirthFn( SlaveVP *slaveVP, BirthFnPtr fnPtr, 2.9 void *dataParam) 2.10 { void *stackPtr; 2.11 2.12 // Start of Hardware dependent part 2.13 2.14 //Set slave's instr pointer to a helper Fn that copies params from stack 2.15 - slaveVP->resumeInstrPtr = (TopLevelFnPtr)&startUpTopLevelFn; 2.16 + slaveVP->resumeInstrPtr = (BirthFnPtr)&startUpBirthFn; 2.17 2.18 //fnPtr takes two params -- void *dataParam & void *animSlv 2.19 // Stack grows *down*, so start it at highest stack addr, minus room 2.20 @@ -81,7 +81,7 @@ 2.21 *((void**)stackPtr - 1) = (void*)fnPtr; //what helper jmps to 2.22 2.23 //Set slave's instr pointer to a helper Fn that copies params from stack 2.24 - slaveVP->resumeInstrPtr = (TopLevelFnPtr)&jmpToOneParamFn; 2.25 + slaveVP->resumeInstrPtr = (BirthFnPtr)&jmpToOneParamFn; 2.26 2.27 // end of Hardware dependent part 2.28 2.29 @@ -123,7 +123,7 @@ 2.30 *((void**)stackPtr - 1) = (void*)fnPtr; //what helper jmps to 2.31 2.32 //Set slave's instr pointer to a helper Fn that copies params from stack 2.33 - slaveVP->resumeInstrPtr = (TopLevelFnPtr)&jmpToTwoParamFn; 2.34 + slaveVP->resumeInstrPtr = (BirthFnPtr)&jmpToTwoParamFn; 2.35 2.36 // end of Hardware dependent part 2.37
3.1 --- a/HW_Dependent_Primitives/PR__primitives.h Wed May 22 17:40:23 2013 -0700 3.2 +++ b/HW_Dependent_Primitives/PR__primitives.h Wed Jun 12 14:12:06 2013 -0700 3.3 @@ -23,7 +23,7 @@ 3.4 masterSwitchToCoreCtlr(SlaveVP *nextSlave); 3.5 3.6 void 3.7 -startUpTopLevelFn(); 3.8 +startUpBirthFn(); 3.9 3.10 void 3.11 jmpToOneParamFn();
4.1 --- a/HW_Dependent_Primitives/PR__primitives_asm.s Wed May 22 17:40:23 2013 -0700 4.2 +++ b/HW_Dependent_Primitives/PR__primitives_asm.s Wed Jun 12 14:12:06 2013 -0700 4.3 @@ -14,8 +14,8 @@ 4.4 4.5 //Trick for 64 bit arch -- copies args from stack into regs, then does jmp to 4.6 // the top-level function, which was pointed to by the stack-ptr 4.7 -.globl startUpTopLevelFn 4.8 -startUpTopLevelFn: 4.9 +.globl startUpBirthFn 4.10 +startUpBirthFn: 4.11 movq %rdi , %rsi #get second argument from first argument of switchSlv 4.12 movq 0x08(%rsp), %rdi #get first argument from stack 4.13 movq (%rsp) , %rax #get top-level function's addr from stack
5.1 --- a/PR.c Wed May 22 17:40:23 2013 -0700 5.2 +++ b/PR.c Wed Jun 12 14:12:06 2013 -0700 5.3 @@ -65,7 +65,7 @@ 5.4 PR_SS__create_topEnv(); 5.5 5.6 #ifdef DEBUG__TURN_ON_SEQUENTIAL_MODE 5.7 - printf( "\n\n Running in SEQUENTIAL mode \n\n" ); 5.8 + printf( "\n\n Running in SEQUENTIAL mode -- NUM_CORES: %d \n\n", NUM_CORES ); 5.9 //Only difference between version with an OS thread pinned to each core and 5.10 // the sequential version of PR is PR__init_Seq, this, and coreCtlr_Seq. 5.11 5.12 @@ -100,7 +100,7 @@ 5.13 * 5.14 */ 5.15 PRProcess * 5.16 -PR__create_process( TopLevelFnPtr seed_Fn, void *seedData ) 5.17 +PR__create_process( BirthFnPtr seed_Fn, void *seedData ) 5.18 { SlaveVP *seedSlv; 5.19 PRProcess *process; 5.20 PRLangEnv **langEnvs, **langEnvsList;
6.1 --- a/PR__PI.c Wed May 22 17:40:23 2013 -0700 6.2 +++ b/PR__PI.c Wed Jun 12 14:12:06 2013 -0700 6.3 @@ -48,6 +48,14 @@ 6.4 } 6.5 } 6.6 } 6.7 +/*Make slave ready, without having to know the lang env.. just the magic num 6.8 + */ 6.9 +void 6.10 +PR_PI__make_slave_ready_for_lang( SlaveVP *slave, int32 magicNum ) 6.11 + { void *langEnv; 6.12 + langEnv = PR_PI__give_lang_env_for_slave( slave, magicNum ); 6.13 + PR_PI__make_slave_ready( slave, langEnv ); 6.14 + } 6.15 6.16 /*Any langlet can transfer slaves over to be resumed in PRServ.. the resume Fn 6.17 * is registered in the PRServ lang env during process creation.
7.1 --- a/PR__SS.c Wed May 22 17:40:23 2013 -0700 7.2 +++ b/PR__SS.c Wed Jun 12 14:12:06 2013 -0700 7.3 @@ -402,7 +402,7 @@ 7.4 AnimSlot **animSlots; 7.5 //create the shutdown processors, one for each core controller -- put them 7.6 // directly into the slots 7.7 - PR_int__get_master_lock(); 7.8 + PR_int__get_wrapper_lock(); 7.9 for( coreIdx = 0; coreIdx < NUM_CORES; coreIdx++ ) 7.10 { //Note, this is running in the master 7.11 shutDownSlv = PR_SS__create_shutdown_slave();
8.1 --- a/PR__WL.c Wed May 22 17:40:23 2013 -0700 8.2 +++ b/PR__WL.c Wed Jun 12 14:12:06 2013 -0700 8.3 @@ -116,7 +116,7 @@ 8.4 8.5 inline 8.6 void 8.7 -PR_WL__send_create_task_req( TopLevelFn fn, void *initData, void *langReq, 8.8 +PR_WL__send_create_task_req( BirthFn fn, void *initData, void *langReq, 8.9 int32 *taskID, CreateHandler handler, SlaveVP *animSlv, int32 magicNumber) 8.10 { PRReqst req; 8.11
9.1 --- a/PR__WL.h Wed May 22 17:40:23 2013 -0700 9.2 +++ b/PR__WL.h Wed Jun 12 14:12:06 2013 -0700 9.3 @@ -40,7 +40,7 @@ 9.4 PR__start(); 9.5 9.6 PRProcess * 9.7 -PR__create_process( TopLevelFnPtr seed_Fn, void *seedData ); 9.8 +PR__create_process( BirthFnPtr seed_Fn, void *seedData ); 9.9 9.10 void 9.11 PR__end_seedVP( SlaveVP *seedSlv );
10.1 --- a/PR__int.c Wed May 22 17:40:23 2013 -0700 10.2 +++ b/PR__int.c Wed Jun 12 14:12:06 2013 -0700 10.3 @@ -30,7 +30,7 @@ 10.4 */ 10.5 inline 10.6 SlaveVP * 10.7 -PR_int__create_slaveVP_helper( TopLevelFnPtr fnPtr, void *dataParam ) 10.8 +PR_int__create_slaveVP_helper( BirthFnPtr fnPtr, void *dataParam ) 10.9 { SlaveVP *newSlv; 10.10 void *stackLocs; 10.11 10.12 @@ -46,10 +46,14 @@ 10.13 10.14 newSlv->numTimesAssignedToASlot = 0; 10.15 10.16 - newSlv->langDatas = NULL; 10.17 - newSlv->metaTasks = NULL; 10.18 + 10.19 + newSlv->langDatas = 10.20 + (PRLangData **)PR_int__make_collection_of_size( NUM_IN_COLLECTION ); 10.21 + 10.22 + newSlv->metaTasks = 10.23 + (PRMetaTask **) PR_int__make_collection_of_size( NUM_IN_COLLECTION ); 10.24 10.25 - PR_int__reset_slaveVP_to_TopLvlFn( newSlv, fnPtr, dataParam ); 10.26 + PR_int__reset_slaveVP_to_BirthFn( newSlv, fnPtr, dataParam ); 10.27 10.28 //============================= MEASUREMENT STUFF ======================== 10.29 #ifdef PROBES__TURN_ON_STATS_PROBES 10.30 @@ -68,16 +72,10 @@ 10.31 10.32 inline 10.33 SlaveVP * 10.34 -PR_int__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam, PRProcess *process ) 10.35 +PR_int__create_slaveVP( BirthFnPtr fnPtr, void *dataParam, PRProcess *process ) 10.36 { SlaveVP *newSlv; 10.37 10.38 newSlv = PR_int__create_slaveVP_helper( fnPtr, dataParam ); 10.39 - 10.40 - newSlv->langDatas = 10.41 - (PRLangData **)PR_int__make_collection_of_size( NUM_IN_COLLECTION ); 10.42 - 10.43 - newSlv->metaTasks = 10.44 - (PRMetaTask **) PR_int__make_collection_of_size( NUM_IN_COLLECTION ); 10.45 10.46 process->numLiveGenericSlvs += 1; 10.47 10.48 @@ -441,7 +439,7 @@ 10.49 //if work found, put into slot, and adjust flags and state 10.50 slot->slaveAssignedToSlot = slave; 10.51 slave->animSlotAssignedTo = slot; 10.52 - slot->needsWorkAssigned = FALSE; 10.53 + slot->needsWorkAssigned = FALSE; 10.54 10.55 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 10.56 //have a slave to be assigned to the slot 10.57 @@ -486,7 +484,7 @@ 10.58 slotSlv = _PRTopEnv->slotTaskSlvs[coreNum][slotNum]; 10.59 10.60 //point slave to task's function 10.61 - PR_int__reset_slaveVP_to_TopLvlFn( slotSlv, protoMetaTask->topLevelFn, protoMetaTask->initData ); 10.62 + PR_int__reset_slaveVP_to_BirthFn( slotSlv, protoMetaTask->topLevelFn, protoMetaTask->initData ); 10.63 PR_int__insert_meta_task_into_slave( protoMetaTask, slotSlv ); 10.64 slotSlv->processSlaveIsIn = protoMetaTask->processTaskIsIn; 10.65 PR_int__put_slave_into_slot( slotSlv, slot ); 10.66 @@ -696,7 +694,7 @@ 10.67 { protoLangEnv = PR_int__give_proto_lang_env_for_slave( slave, magicNum ); 10.68 if(protoLangEnv->langDataCreator == NULL) 10.69 PR_int__error("register a lang data creator"); 10.70 - //This will call PR_PI__create_lang_data_in_slave 10.71 + //This will call PR_PI__create_lang_data_in_slave -- puts it into slave 10.72 return (*protoLangEnv->langDataCreator)( slave ); 10.73 } 10.74 } 10.75 @@ -865,14 +863,46 @@ 10.76 PR_int__backoff_for_TooLongToGetLock( int32 numTriesToGetLock ); 10.77 10.78 inline void 10.79 -PR_int__get_master_lock() 10.80 - { int32 *addrOfMasterLock; 10.81 +PR_int__get_wrapper_lock() 10.82 + { int32 *addrOfWrapperLock; 10.83 10.84 #ifdef DEBUG__TURN_ON_SEQUENTIAL_MODE 10.85 return; 10.86 #endif 10.87 10.88 - addrOfMasterLock = &(_PRTopEnv->masterLock); 10.89 + addrOfWrapperLock = &(_PRTopEnv->wrapperLock); 10.90 + 10.91 + int numTriesToGetLock = 0; 10.92 + int gotLock = 0; 10.93 + 10.94 +// MEAS__Capture_Pre_Master_Lock_Point; 10.95 + while( !gotLock ) //keep going until get master lock 10.96 + { 10.97 + numTriesToGetLock++; //if too many, means too much contention 10.98 + if( numTriesToGetLock > NUM_TRIES_BEFORE_DO_BACKOFF ) 10.99 + { PR_int__backoff_for_TooLongToGetLock( numTriesToGetLock ); 10.100 + } 10.101 + if( numTriesToGetLock > MASTERLOCK_RETRIES_BEFORE_YIELD ) 10.102 + { numTriesToGetLock = 0; 10.103 + pthread_yield(); 10.104 + } 10.105 + 10.106 + //try to get the lock 10.107 + gotLock = __sync_bool_compare_and_swap( addrOfWrapperLock, 10.108 + UNLOCKED, LOCKED ); 10.109 + } 10.110 +// MEAS__Capture_Post_Master_Lock_Point; 10.111 + } 10.112 + 10.113 +inline void 10.114 +PR_int__get_malloc_lock() 10.115 + { int32 *addrOfMallocLock; 10.116 + 10.117 + #ifdef DEBUG__TURN_ON_SEQUENTIAL_MODE 10.118 + return; 10.119 + #endif 10.120 + 10.121 + addrOfMallocLock = &(_PRTopEnv->mallocLock); 10.122 10.123 int numTriesToGetLock = 0; 10.124 int gotLock = 0; 10.125 @@ -890,7 +920,7 @@ 10.126 } 10.127 10.128 //try to get the lock 10.129 - gotLock = __sync_bool_compare_and_swap( addrOfMasterLock, 10.130 + gotLock = __sync_bool_compare_and_swap( addrOfMallocLock, 10.131 UNLOCKED, LOCKED ); 10.132 } 10.133 MEAS__Capture_Post_Master_Lock_Point;
11.1 --- a/PR__int.h Wed May 22 17:40:23 2013 -0700 11.2 +++ b/PR__int.h Wed Jun 12 14:12:06 2013 -0700 11.3 @@ -21,7 +21,7 @@ 11.4 11.5 inline 11.6 void 11.7 -PR_int__reset_slaveVP_to_TopLvlFn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, 11.8 +PR_int__reset_slaveVP_to_BirthFn( SlaveVP *slaveVP, BirthFnPtr fnPtr, 11.9 void *dataParam); 11.10 11.11 inline 11.12 @@ -39,11 +39,11 @@ 11.13 //=========================================================================== 11.14 inline 11.15 SlaveVP * 11.16 -PR_int__create_slaveVP_helper( TopLevelFnPtr fnPtr, void *dataParam ); 11.17 +PR_int__create_slaveVP_helper( BirthFnPtr fnPtr, void *dataParam ); 11.18 11.19 inline 11.20 SlaveVP * 11.21 -PR_int__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam, PRProcess *process ); 11.22 +PR_int__create_slaveVP( BirthFnPtr fnPtr, void *dataParam, PRProcess *process ); 11.23 11.24 SlaveVP * 11.25 PR_int__get_recycled_slot_slave( ); 11.26 @@ -223,9 +223,16 @@ 11.27 PR_int__strDup( char *str ); 11.28 11.29 inline void 11.30 -PR_int__get_master_lock(); 11.31 +PR_int__get_wrapper_lock(); 11.32 11.33 -#define PR_int__release_master_lock() _PRTopEnv->masterLock = UNLOCKED 11.34 +inline void 11.35 +PR_int__get_malloc_lock(); 11.36 + 11.37 +#define PR_int__release_master_lock() _PRTopEnv->masterLock = UNLOCKED 11.38 + 11.39 +#define PR_int__release_wrapper_lock() _PRTopEnv->wrapperLock = UNLOCKED 11.40 + 11.41 +#define PR_int__release_malloc_lock() _PRTopEnv->mallocLock = UNLOCKED 11.42 11.43 inline uint32_t 11.44 PR_int__randomNumber();
12.1 --- a/PR__structs.h Wed May 22 17:40:23 2013 -0700 12.2 +++ b/PR__structs.h Wed Jun 12 14:12:06 2013 -0700 12.3 @@ -43,8 +43,8 @@ 12.4 typedef void (*LangMetaTaskFreer) ( void * ); //lang meta task to free 12.5 typedef void (*MakeSlaveReadyFn) ( SlaveVP *, void * ); //slave and langEnv 12.6 typedef void (*MakeTaskReadyFn) ( void *, void * ); //langTask and langEnv 12.7 -typedef void (*TopLevelFnPtr) ( void *, SlaveVP * ); //initData, animSlv 12.8 -typedef void TopLevelFn ( void *, SlaveVP * ); //initData, animSlv 12.9 +typedef void (*BirthFnPtr) ( void *, SlaveVP * ); //initData, animSlv 12.10 +typedef void BirthFn ( void *, SlaveVP * ); //initData, animSlv 12.11 typedef void (*ResumeSlvFnPtr) ( SlaveVP *, void * ); 12.12 //=========== MEASUREMENT STUFF ========== 12.13 MEAS__Insert_Counter_Handler 12.14 @@ -121,17 +121,17 @@ 12.15 enum PRReqstType //avoid starting enums at 0, for debug reasons 12.16 { 12.17 TaskCreate = 1, 12.18 - TaskEnd = 2, 12.19 - SlvCreate = 3, 12.20 - SlvDissipate = 4, 12.21 - Language = 5, 12.22 - Service = 6, //To invoke a PR provided equivalent of a language request (ex: probe) 12.23 - Hardware = 7, 12.24 - IO = 8, 12.25 - OSCall = 9, 12.26 - LangShutdown = 10, 12.27 - ProcessEnd = 11, 12.28 - PRShutdown = 12 12.29 + TaskEnd, 12.30 + SlvCreate, 12.31 + SlvDissipate, 12.32 + Language, 12.33 + Service, //To invoke a PR provided equivalent of a language request (ex: probe) 12.34 + Hardware, 12.35 + IO, 12.36 + OSCall, 12.37 + LangShutdown, 12.38 + ProcessEnd, 12.39 + PRShutdown 12.40 }; 12.41 12.42 12.43 @@ -143,7 +143,7 @@ 12.44 int32 langMagicNumber; 12.45 SlaveVP *requestingSlave; 12.46 12.47 - TopLevelFnPtr topLevelFn; 12.48 + BirthFnPtr topLevelFn; 12.49 void *initData; 12.50 int32 *ID; 12.51 12.52 @@ -152,6 +152,7 @@ 12.53 // fn directly into the request.. might change to this for all requests 12.54 RequestHandler handler; //pointer to handler fn 12.55 CreateHandler createHdlr; //special because returns something 12.56 + int32 createSuspendedGroup; //must be non-zero 12.57 12.58 PRReqst *nextReqst; 12.59 }; 12.60 @@ -263,6 +264,10 @@ 12.61 int8 falseSharePad1[256 - sizeof(void*)]; 12.62 int32 masterLock; //offset to this field used in asm 12.63 int8 falseSharePad2[256 - sizeof(int32)]; 12.64 + int32 wrapperLock; //offset to this field used in asm 12.65 + int8 falseSharePad3[256 - sizeof(int32)]; 12.66 + int32 mallocLock; //offset to this field used in asm 12.67 + int8 falseSharePad4[256 - sizeof(int32)]; 12.68 //============ below this, no fields are used in asm ============= 12.69 12.70 //Basic PR infrastructure 12.71 @@ -373,7 +378,7 @@ 12.72 int32 *ID; //is standard PR ID 12.73 PRProcess *processTaskIsIn; 12.74 SlaveVP *slaveAssignedTo; //not valid until task animated 12.75 - TopLevelFnPtr topLevelFn; //This is the Fn executes as the task 12.76 + BirthFnPtr topLevelFn; //This is the Fn executes as the task 12.77 void *initData; //The data taken by the function 12.78 LangMetaTaskFreer freer; 12.79 bool32 goAheadAndFree;
13.1 --- a/Services_Offered_by_PR/Measurement_and_Stats/probes.c Wed May 22 17:40:23 2013 -0700 13.2 +++ b/Services_Offered_by_PR/Measurement_and_Stats/probes.c Wed Jun 12 14:12:06 2013 -0700 13.3 @@ -163,11 +163,11 @@ 13.4 PR_impl__index_probe_by_its_name( int32 probeID, SlaveVP *animSlv ) 13.5 { IntervalProbe *probe; 13.6 13.7 - PR_int__get_master_lock(); 13.8 + PR_int__get_wrapper_lock(); 13.9 probe = _PRTopEnv->intervalProbes[ probeID ]; 13.10 13.11 addValueIntoTable(probe->nameStr, probe, _PRTopEnv->probeNameHashTbl); 13.12 - PR_int__release_master_lock(); 13.13 + PR_int__release_wrapper_lock(); 13.14 } 13.15 13.16
14.1 --- a/Services_Offered_by_PR/Memory_Handling/vmalloc.c Wed May 22 17:40:23 2013 -0700 14.2 +++ b/Services_Offered_by_PR/Memory_Handling/vmalloc.c Wed Jun 12 14:12:06 2013 -0700 14.3 @@ -291,9 +291,9 @@ 14.4 PR_WL__malloc( int32 sizeRequested ) 14.5 { void *ret; 14.6 14.7 - PR_int__get_master_lock(); 14.8 + PR_int__get_malloc_lock(); 14.9 ret = PR_int__malloc( sizeRequested ); 14.10 - PR_int__release_master_lock(); 14.11 + PR_int__release_malloc_lock(); 14.12 return ret; 14.13 } 14.14 14.15 @@ -354,9 +354,9 @@ 14.16 void 14.17 PR_WL__free( void *ptrToFree ) 14.18 { 14.19 - PR_int__get_master_lock(); 14.20 + PR_int__get_malloc_lock(); 14.21 PR_int__free( ptrToFree ); 14.22 - PR_int__release_master_lock(); 14.23 + PR_int__release_malloc_lock(); 14.24 } 14.25 14.26 /*
15.1 --- a/Services_Offered_by_PR/Services_Language/PRServ_SS.c Wed May 22 17:40:23 2013 -0700 15.2 +++ b/Services_Offered_by_PR/Services_Language/PRServ_SS.c Wed Jun 12 14:12:06 2013 -0700 15.3 @@ -12,7 +12,7 @@ 15.4 #include "Hash_impl/PrivateHash.h" 15.5 15.6 #include "PRServ.h" 15.7 -#include "PR_impl/Services_Offered_by_PR/Measurement_and_Stats/MEAS__Counter_Recording.h" 15.8 +//#include "PR_impl/Services_Offered_by_PR/Measurement_and_Stats/MEAS__Counter_Recording.h" 15.9 //========================================================================== 15.10 15.11
