Made MAXLOGBUFSIZE in projections a commandline parameter.
authorMilind Bhandarkar <milind@cs.uiuc.edu>
Fri, 14 Mar 1997 20:23:45 +0000 (20:23 +0000)
committerMilind Bhandarkar <milind@cs.uiuc.edu>
Fri, 14 Mar 1997 20:23:45 +0000 (20:23 +0000)
One can now specify it as "+logsize 10000" on the program
command line.

src/charmc
src/ck-core/communication.h
src/ck-core/globals.c
src/ck-core/globals.h
src/ck-core/init.c
src/ck-perf/perf-none.c
src/ck-perf/perf-proj.c

index 5d7e8010bd66e82f54e22eec67b9842612d3711f..1fef6b05cbfc1d85a213670d254cd9c772f91e38 100755 (executable)
@@ -32,6 +32,7 @@ unsetenv MEMORY
 unsetenv EXECMODE
 unsetenv VERBOSE
 unsetenv SAVE
+unsetenv PURIFY
 unsetenv OVERRIDE_CC
 unsetenv OVERRIDE_CXX
 unsetenv OVERRIDE_LD
@@ -114,6 +115,10 @@ while ($argindex <= $#argv)
             set SAVE=1
             breaksw
 
+        case "-purify"
+            set PURIFY=1
+            breaksw
+
         case "-use-reliable-cc"
            set USE_RELIABLE_CC=1
             breaksw
@@ -373,6 +378,11 @@ if ($?OVERRIDE_LD) then
     set CMK_LD = ( $OVERRIDE_LD $CMK_LD )
 endif
 
+if ($?PURIFY == 1) then
+    set CMK_LD = ( purify $CMK_LD )
+    set CMK_LDXX = ( purify $CMK_LDXX )
+endif
+
 if ($?OVERRIDE_LDXX) then
     set CMK_LDXX[1]=""
     set CMK_LDXX = ( $OVERRIDE_LDXX $CMK_LDXX )
index 9ed0398d06219a67f6d8b77afbef61c8955cd85a..991065661f4029314356991b95c98546d2713740 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.15  1995-11-13 04:04:33  gursoy
+ * Revision 2.16  1997-03-14 20:23:47  milind
+ * Made MAXLOGBUFSIZE in projections a commandline parameter.
+ * One can now specify it as "+logsize 10000" on the program
+ * command line.
+ *
+ * Revision 2.15  1995/11/13 04:04:33  gursoy
  * made changes related to initial msg synchronization
  *
  * Revision 2.14  1995/09/29  09:51:12  jyelon
                 usermsg = USER_MSG_PTR(env); \
                 (*(CsvAccess(MsgToStructTable)[GetEnv_packid(env)].packfn)) \
                         (usermsg, &packedmsg, &size); \
-                if (usermsg != packedmsg) \
+                if (usermsg != packedmsg) { \
+                        /* Free the usermsg here. */ \
+                        CkFreeMsg(usermsg); \
                         env = ENVELOPE_UPTR(packedmsg); \
+                }\
         }\
 
 
index 4a3457b26cd401587045b8f90a0c589199f0b0b7..774573d615a096133cf81e7b0490c5db9cc70337 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.12  1995-11-13 04:05:29  gursoy
+ * Revision 2.13  1997-03-14 20:23:48  milind
+ * Made MAXLOGBUFSIZE in projections a commandline parameter.
+ * One can now specify it as "+logsize 10000" on the program
+ * command line.
+ *
+ * Revision 2.12  1995/11/13 04:05:29  gursoy
  * made changes related to sync (init messages).
  *
  * Revision 2.11  1995/11/06  22:59:01  sanjeev
@@ -127,6 +132,7 @@ CpvDeclare(int, nodeforCharesProcessed);
 CpvDeclare(int, PrintChareStat); 
 CpvDeclare(int, PrintSummaryStat);
 CpvDeclare(int, QueueingDefault);
+CpvDeclare(int, LogBufSize);
 
 CpvDeclare(int, RecdStatMsg);
 CpvDeclare(int, RecdPerfMsg);
@@ -251,6 +257,7 @@ void globalsModuleInit()
    CpvInitialize(int, nodebocMsgsProcessed);
    CpvInitialize(int, nodeforCharesProcessed);
    CpvInitialize(int, PrintChareStat);
+   CpvInitialize(int, LogBufSize);
    CpvInitialize(int, PrintSummaryStat);
    CpvInitialize(int, QueueingDefault);
    CpvInitialize(int, RecdStatMsg);
@@ -278,6 +285,7 @@ void globalsModuleInit()
    CpvAccess(nodebocMsgsProcessed)   = 0;
    CpvAccess(nodeforCharesProcessed) = 0;
    CpvAccess(PrintChareStat)         = 0;
+   CpvAccess(LogBufSize)             = 10000;
    CpvAccess(PrintSummaryStat)       = 0;
    CpvAccess(numHeapEntries)         = 0;  
    CpvAccess(numCondChkArryElts)     = 0; 
index 795d220418f29fcaa78b3ed167bf5c035c698432..f4775c038377a479b81621babd548c77f429a463 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.15  1995-11-13 04:04:33  gursoy
+ * Revision 2.16  1997-03-14 20:23:49  milind
+ * Made MAXLOGBUFSIZE in projections a commandline parameter.
+ * One can now specify it as "+logsize 10000" on the program
+ * command line.
+ *
+ * Revision 2.15  1995/11/13 04:04:33  gursoy
  * made changes related to initial msg synchronization
  *
  * Revision 2.14  1995/11/06  22:59:01  sanjeev
@@ -126,6 +131,7 @@ CpvExtern(int, PrintMemStat);
 CpvExtern(int, PrintChareStat);
 CpvExtern(int, PrintSummaryStat);
 CpvExtern(int, QueueingDefault);
+CpvExtern(int, LogBufSize);
 
 CpvExtern(int, RecdStatMsg);
 CpvExtern(int, RecdPerfMsg);
index 28c275f733e008f05196df1cdf854cae3c3b3918..9c055cb43e32a8a3cefb1af1af5c6b9d1fec522a 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.39  1996-04-24 22:53:27  jyelon
+ * Revision 2.40  1997-03-14 20:23:50  milind
+ * Made MAXLOGBUFSIZE in projections a commandline parameter.
+ * One can now specify it as "+logsize 10000" on the program
+ * command line.
+ *
+ * Revision 2.39  1996/04/24 22:53:27  jyelon
  * *** empty log message ***
  *
  * Revision 2.38  1996/04/07 19:16:52  jyelon
@@ -675,6 +680,11 @@ char          **argv;
       foundSysOpt = 2;
     } else if (sscanf(argv[i], "+p%d", &NumPes) == 1) {
       foundSysOpt = 1;
+    } else if (strcmp(argv[i], "+logsize") == 0 && i + 1 < argc) {
+      int logsize;
+      sscanf(argv[i + 1], "%d", &logsize);
+      CpvAccess(LogBufSize) = logsize;
+      foundSysOpt = 2;
     }
     if (foundSysOpt) {
       /* if system option, remove it. */
index 882f910e394cc5d25a8ef6a91682ce010356312e..327f8d5b0a800e2a06a98e376d6d1bc95933340e 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.5  1995-07-22 23:44:01  jyelon
+ * Revision 2.6  1997-03-14 20:23:51  milind
+ * Made MAXLOGBUFSIZE in projections a commandline parameter.
+ * One can now specify it as "+logsize 10000" on the program
+ * command line.
+ *
+ * Revision 2.5  1995/07/22 23:44:01  jyelon
  * *** empty log message ***
  *
  * Revision 2.4  1995/07/12  21:36:20  brunner
@@ -46,7 +51,7 @@ void perfModuleInit(prog_name) char *prog_name; {}
 
 program_name(s,m) char *s, *m; {}
 
-log_init(){CpvAccess(RecdPerfMsg) = 1;}
+log_init() {CpvAccess(RecdPerfMsg) = 1;}
 
 trace_creation(msg_type,entry,envelope)
 int msg_type, entry;
index 2009490a917669f568fb6a040ca9eec98166db99..8ccd1f3afadb845cf99614bcca51207429a0116d 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.10  1995-11-05 17:54:33  sanjeev
+ * Revision 2.11  1997-03-14 20:23:52  milind
+ * Made MAXLOGBUFSIZE in projections a commandline parameter.
+ * One can now specify it as "+logsize 10000" on the program
+ * command line.
+ *
+ * Revision 2.10  1995/11/05 17:54:33  sanjeev
  * current_event should be initialized to 0, not 1
  *
  * Revision 2.9  1995/11/03  04:34:38  sanjeev
@@ -79,7 +84,7 @@ CpvExtern(int,RecdPerfMsg);
 CpvDeclare(char*,log_file_name);               /* log file name        */
 CpvDeclare(int,current_event);
 
-typedef LOGSTR LOGARR[MAXLOGBUFSIZE];
+typedef LOGSTR * LOGARR;
 CpvDeclare(LOGARR,logbuf);
 
 CpvDeclare(int,logcnt);                        /* no. of log entries   */
@@ -271,12 +276,12 @@ CmiMyPe(), CpvAccess(logcnt), type, msg_type, entry, t1, t2, event));
 
        /* if log buffer is full then write out */
        /* the log into log file                */
-       if (CpvAccess(logcnt) == MAXLOGBUFSIZE)
+       if (CpvAccess(logcnt) == CpvAccess(LogBufSize))
        {
                int begin_interrupt;
 
                begin_interrupt = CkUTimer();
-               wrtlog(CmiMyPe(), CpvAccess(logbuf), MAXLOGBUFSIZE);
+               wrtlog(CmiMyPe(), CpvAccess(logbuf), CpvAccess(LogBufSize));
 
                buf = &(CpvAccess(logbuf)[CpvAccess(logcnt)]);
                buf->type = BEGIN_INTERRUPT;
@@ -312,6 +317,8 @@ log_init()
        CpvAccess(begin_pe)=-1;
        CpvAccess(begin_event)=-1;
        CpvAccess(begin_processing_time)=-1;
+        CpvAccess(logbuf) = 
+           (LOGARR) CmiAlloc(sizeof(LOGSTR)*CpvAccess(LogBufSize));
 
        pe = CmiMyPe();
 
@@ -404,6 +411,7 @@ close_log()
                fflush(CpvAccess(state_file_fd));
                fclose(CpvAccess(state_file_fd));
        }
+        CmiFree(CpvAccess(logbuf));
 }