Made charm++ to compile and run with Solaris 2.6.
authorMilind Bhandarkar <milind@cs.uiuc.edu>
Tue, 13 Jan 1998 17:03:20 +0000 (17:03 +0000)
committerMilind Bhandarkar <milind@cs.uiuc.edu>
Tue, 13 Jan 1998 17:03:20 +0000 (17:03 +0000)
In particular, changed INTBITS to CINTBITS, and handled EALREADY.

src/QuickThreads/mkfiles/solaris-cc
src/arch/net/machine.c
src/arch/origin2000/conv-mach.csh
src/arch/origin2000/conv-mach.h
src/ck-core/ck.c
src/ck-core/env_macros.h
src/conv-core/convcore.c
src/conv-core/queueing.c
src/scripts/Makefile
src/scripts/charmc

index 30da3cf0fdf8f3f97e27facc43b3797461557a6e..c2318279c5a07629a4bd513387bc9e7b255a0e12 100644 (file)
@@ -6,7 +6,7 @@ all: qt stp testpgm
 qt:
        ln -s md/sparc.h qtmd.h
        $(CC) -c -o qt.o qt.c
-       as -o qtmds.o md/sparc.s
+       $(CC) -c -o qtmds.o md/sparc.s
        ar crv libqt.a qt.o qtmds.o
 
 stp:
@@ -15,6 +15,6 @@ stp:
 
 testpgm:
        $(CC) -c meas.c
-       as -o qtmdb.o md/sparc_b.s
+       $(CC) -c -o qtmdb.o md/sparc_b.s
        $(CC) -o run meas.o qtmdb.o libstp.a libqt.a
-       
\ No newline at end of file
+       
index dcfeebd068a61d99f61b3efe0df7a5c4e4d6039a..c27399e0bee82d7234a31774c1c13dd31408d695 100644 (file)
@@ -538,7 +538,7 @@ unsigned int ip; int port; int seconds;
     if (ok>=0) break;
     close(fd);
     switch (errno) {
-    case EINTR: case EBADF: break;
+    case EINTR: case EBADF: case EALREADY: break;
     case ECONNREFUSED: jsleep(1,0); break;
     case EADDRINUSE: jsleep(1,0); break;
     case EADDRNOTAVAIL: jsleep(5,0); break;
index 7b840a2120f7189cb5310e3598a1d79af374c585..d627999b1810aa416d532daf34e3debeb36dab93 100755 (executable)
@@ -25,17 +25,17 @@ set CMK_CXX='CC -64 '
 set CMK_CXXPP='CC -E -64 '
 set CMK_CF77=''
 set CMK_C_DEBUG='-g'
-set CMK_C_OPTIMIZE='-O'
+set CMK_C_OPTIMIZE='-O3 -r10000 -INLINE:all '
 set CMK_CXX_DEBUG='-g'
-set CMK_CXX_OPTIMIZE='-O'
-set CMK_LD='cc -64 '
-set CMK_LDXX='CC -64 '
+set CMK_CXX_OPTIMIZE='-O3 -r10000 -INLINE:all '
+set CMK_LD='cc -64 -w '
+set CMK_LDXX='CC -64 -w '
 set CMK_LD77=''
 set CMK_M4='m4'
 set CMK_SUF='o'
 set CMK_AR='ar cq'
 set CMK_RANLIB='true'
-set CMK_LIBS=' -lqt '
+set CMK_LIBS=' -lqt -lfastm '
 set CMK_SEQ_LIBS=' '
 set CMK_SEQ_CC='cc -64 '
 set CMK_SEQ_LD='cc -64 '
index f593f08efeed74a41cea1c3c18a3b69822c9d5be..023595276bc2935e539b5eaeeec3820f8ad908e1 100644 (file)
@@ -8,7 +8,11 @@
  ***************************************************************************
  *
  * $Log$
- * Revision 1.6  1997-12-22 21:58:06  jyelon
+ * Revision 1.7  1998-01-13 17:03:37  milind
+ * Made charm++ to compile and run with Solaris 2.6.
+ * In particular, changed INTBITS to CINTBITS, and handled EALREADY.
+ *
+ * Revision 1.6  1997/12/22 21:58:06  jyelon
  * Changed LDB initialization scheme.
  *
  * Revision 1.5  1997/08/06 20:35:58  jyelon
 
 #define CMK_MACHINE_NAME                                   "origin2000"
 
-#define CMK_MALLOC_USE_GNU_MALLOC                          1
-#define CMK_MALLOC_USE_OS_BUILTIN                          0
+#define CMK_MALLOC_USE_GNU_MALLOC                          0
+#define CMK_MALLOC_USE_OS_BUILTIN                          1
 
 #define CMK_MEMORY_PAGESIZE                                8192
 #define CMK_MEMORY_PROTECTABLE                             0
index 407b30ab37a2f4ec9fd2470ba5be67b43ab34ed0..a9a47b63acb8fa0c377df2b922f204c03864012c 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.23  1997-10-03 19:51:31  milind
+ * Revision 2.24  1998-01-13 17:03:20  milind
+ * Made charm++ to compile and run with Solaris 2.6.
+ * In particular, changed INTBITS to CINTBITS, and handled EALREADY.
+ *
+ * Revision 2.23  1997/10/03 19:51:31  milind
  * Made charmc to work again, after inserting trace calls in converse part,
  * i.e. threads and user events.
  *
@@ -529,7 +533,7 @@ void *env;
  *
  ************************************************************************/
 
-#define INTBITS (sizeof(int)*8)
+#define CINTBITS (sizeof(int)*8)
 
 void CkPrioConcatFn(srcmsg, dstmsg, delta)
 void *srcmsg;
@@ -541,8 +545,8 @@ unsigned int delta;
   ENVELOPE *dstenv = ENVELOPE_UPTR(dstmsg);
   int srcbits = GetEnv_priosize(srcenv);
   int dstbits = GetEnv_priosize(dstenv);
-  int srcwords = (srcbits+INTBITS-1)/INTBITS;
-  int dstwords = (dstbits+INTBITS-1)/INTBITS;
+  int srcwords = (srcbits+CINTBITS-1)/CINTBITS;
+  int dstwords = (dstbits+CINTBITS-1)/CINTBITS;
   unsigned int *srcptr = GetEnv_prioend(srcenv) - srcwords;
   unsigned int *dstptr = GetEnv_prioend(dstenv) - dstwords;
   deltabits = dstbits - srcbits;
@@ -550,16 +554,16 @@ unsigned int delta;
     CmiPrintf("CkPrioConcat: prio-bits from source message don't fit in destination message.\n");
     exit(1);
   }
-  if (deltabits > INTBITS) {
+  if (deltabits > CINTBITS) {
     CmiPrintf("CkPrioConcat: prio-bits from source message plus bits of delta don't fill destination-message.\n");
     exit(1);
   }
-  while (srcbits>0) { *dstptr++ = *srcptr++; srcbits -= INTBITS; }
+  while (srcbits>0) { *dstptr++ = *srcptr++; srcbits -= CINTBITS; }
   padbits = -srcbits;
-  delta <<= (INTBITS-deltabits);
+  delta <<= (CINTBITS-deltabits);
   if (padbits) {
     dstptr[-1] &= (((unsigned int)(-1))<<padbits);
-    dstptr[-1] |= (delta>>(INTBITS-padbits));
+    dstptr[-1] |= (delta>>(CINTBITS-padbits));
   }
   if (deltabits>padbits) dstptr[0] = (delta<<padbits);
 }
index 64ee17bbf956e3375c886080c315bac89864c9c1..eb634df2f216e3ee58e9e091cc758a69657a0944 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 2.15  1997-11-10 16:36:53  milind
+ * Revision 2.16  1998-01-13 17:03:22  milind
+ * Made charm++ to compile and run with Solaris 2.6.
+ * In particular, changed INTBITS to CINTBITS, and handled EALREADY.
+ *
+ * Revision 2.15  1997/11/10 16:36:53  milind
  * Changed size_t to CMK_SIZE_T.
  *
  * Revision 2.14  1997/10/29 23:52:46  milind
@@ -134,7 +138,7 @@ typedef struct envelope {
 } ENVELOPE;
 
 
-#define INTBITS (sizeof(int)*8)
+#define CINTBITS (sizeof(int)*8)
 
 /*********************************************************/
 /** Arrangement for i_tag2                              **/
@@ -210,7 +214,7 @@ typedef struct envelope {
 /* Navigating the priority field */
 /*********************************/
 
-#define GetEnv_priowords(e) ((GetEnv_priosize(e)+INTBITS-1)/INTBITS)
+#define GetEnv_priowords(e) ((GetEnv_priosize(e)+CINTBITS-1)/CINTBITS)
 #define GetEnv_priobytes(e) (GetEnv_priowords(e)*sizeof(int))
 #define GetEnv_prioend(e) ((unsigned int *)(((char *)(e))+GetEnv_TotalSize(e)))
 #define GetEnv_priobgn(e) ((unsigned int *)(((char *)(e))+GetEnv_TotalSize(e)-GetEnv_priobytes(e)))
index 7a65890f65aa2428bc9896bb475b4b4741b8c24b..5ab7356c0e64befd4b33462658a9e410417146dc 100644 (file)
@@ -559,7 +559,7 @@ void CsdBeginIdle()
 CpvExtern(void*, CmiLocalQueue);
 CtvStaticDeclare(int, CmiBufferGrabbed);
 
-void CmiGrabBuffer()
+void CmiGrabBuffer(void **bufptrptr)
 {
   CtvAccess(CmiBufferGrabbed) = 1;
 }
@@ -588,6 +588,20 @@ int CsdScheduler(int maxmsgs)
   void *localqueue = CpvAccess(CmiLocalQueue);
   int cycle = CpvAccess(CsdStopFlag);
   
+  if(maxmsgs == 0) {
+    while(1) {
+      msg = CmiGetNonLocal();
+      if (msg==0) FIFO_DeQueue(localqueue, &msg);
+      if (msg==0) CqsDequeue(CpvAccess(CsdSchedQueue),&msg);
+      if (msg) {
+        CmiHandleMessage(msg);
+        maxmsgs--;
+        if (CpvAccess(CsdStopFlag) != cycle) return maxmsgs;
+      } else {
+        return maxmsgs;
+      }
+    }
+  }
   while (1) {
     msg = CmiGetNonLocal();
     if (msg==0) FIFO_DeQueue(localqueue, &msg);
index 537f6cc3d8f4f97a466420abb6ba5f1f30f776fc..bc87a79dbedd9408ef4351c43fa84f93f3414f61 100644 (file)
  * REVISION HISTORY:
  *
  * $Log$
- * Revision 1.5  1997-10-29 23:53:08  milind
+ * Revision 1.6  1998-01-13 17:03:25  milind
+ * Made charm++ to compile and run with Solaris 2.6.
+ * In particular, changed INTBITS to CINTBITS, and handled EALREADY.
+ *
+ * Revision 1.5  1997/10/29 23:53:08  milind
  * Fixed CthInitialize bug on uth machines.
  *
  * Revision 1.4  1996/04/24 22:44:16  jyelon
@@ -46,7 +50,7 @@
 static char ident[] = "@(#)$Header$";
 
 #include <converse.h>
-#define INTBITS ((unsigned int) (sizeof(int)*8))
+#define CINTBITS ((unsigned int) (sizeof(int)*8))
 
 typedef struct prio
 {
@@ -219,7 +223,7 @@ deq CqsPrioqGetDeq(pq, priobits, priodata)
 prioq pq;
 unsigned int priobits, *priodata;
 {
-  unsigned int prioints = (priobits+INTBITS-1)/INTBITS;
+  unsigned int prioints = (priobits+CINTBITS-1)/CINTBITS;
   unsigned int hashval;
   int heappos, i, j; 
   prioqelt *heap, pe, next;
@@ -356,17 +360,17 @@ Queue q; void *data; unsigned int strategy, priobits, *prioptr;
     CqsDeqEnqueueLifo(&(q->zeroprio), data); 
     break;
   case CQS_QUEUEING_IFIFO:
-    iprio=prioptr[0]+(1<<(INTBITS-1));
+    iprio=prioptr[0]+(1<<(CINTBITS-1));
     if ((int)iprio<0)
-      d=CqsPrioqGetDeq(&(q->posprioq), INTBITS, &iprio);
-    else d=CqsPrioqGetDeq(&(q->negprioq), INTBITS, &iprio);
+      d=CqsPrioqGetDeq(&(q->posprioq), CINTBITS, &iprio);
+    else d=CqsPrioqGetDeq(&(q->negprioq), CINTBITS, &iprio);
     CqsDeqEnqueueFifo(d, data);
     break;
   case CQS_QUEUEING_ILIFO:
-    iprio=prioptr[0]+(1<<(INTBITS-1));
+    iprio=prioptr[0]+(1<<(CINTBITS-1));
     if ((int)iprio<0)
-      d=CqsPrioqGetDeq(&(q->posprioq), INTBITS, &iprio);
-    else d=CqsPrioqGetDeq(&(q->negprioq), INTBITS, &iprio);
+      d=CqsPrioqGetDeq(&(q->posprioq), CINTBITS, &iprio);
+    else d=CqsPrioqGetDeq(&(q->negprioq), CINTBITS, &iprio);
     CqsDeqEnqueueLifo(d, data);
     break;
   case CQS_QUEUEING_BFIFO:
index fe3ca0f442c518b266afa9818f0ce2979cbd68f0..42d8de49cd3fef2deba76ffffeb5743ab3cea286 100644 (file)
@@ -49,6 +49,8 @@ test-charm++: charm++
 
 CHARMC=../bin/charmc $(CHARMOPTS) $(OPTS)
 
+SEQCHARMC=../bin/charmc $(CHARMOPTS)
+
 
 ###############################################################################
 #
@@ -120,7 +122,9 @@ dirs+sources:
 
 CVHEADERS=converse.h conv-mach.h conv-mach.csh
 
-CVLIBS=libconv-core.a libconv-cplus-n.a libconv-cplus-y.a libldb-rand.o libtrace-none.a libtrace-summary.a libtrace-projections.a
+TRACELIBS=libck-trace-none.a libck-trace-summary.a libck-trace-projections.a
+
+CVLIBS=libconv-core.a libconv-cplus-n.a libconv-cplus-y.a libldb-rand.o $(TRACELIBS)
 
 LIBCONV_CORE=threads.o convcore.o conv-conds.o spantree.o queueing.o fifo.o msgmgr.o memory.o cpm.o cpthreads.o futures.o ldbcfns.o
 
@@ -135,8 +139,10 @@ QuickThreads/libqt.a:
        cp QuickThreads/libqt.a ../lib
 
 conv-host: conv-host.c
-       ../bin/charmc -cp ../bin -seq -DNOTIFY -o conv-host-notify conv-host.c
-       ../bin/charmc -cp ../bin -seq -DSILENT -o conv-host-silent conv-host.c
+       ../bin/charmc $(OPTS) -c -seq -DSILENT conv-host.c
+       ../bin/charmc $(OPTS) -cp ../bin -seq -o conv-host-silent conv-host.o
+       ../bin/charmc $(OPTS) -c -seq -DNOTIFY conv-host.c
+       ../bin/charmc $(OPTS) -cp ../bin -seq -o conv-host-notify conv-host.o
        cp conv-host-notify conv-host
        cp conv-host ../bin/conv-host
 
@@ -431,44 +437,44 @@ dcountredn.o: dcountredn.int $(GENERIC_REDN_H)
 CHARMXLAT=xl-main.o xl-yacc.tab.o xl-sym.o xl-str.o xl-lex.o xl-lexsp.o xl-rdtok.o xl-parse.o xl-outh.o xl-srch.o xl-dag.o
 
 charmxlat charmfilter: $(CHARMXLAT) xl-sfspec.o
-       $(CHARMC) -seq -o charmxlat   -cp ../bin/ $(CHARMXLAT)
-       $(CHARMC) -seq -o charmfilter -cp ../bin/ xl-sfspec.o
+       $(SEQCHARMC) -seq -o charmxlat   -cp ../bin/ $(CHARMXLAT)
+       $(SEQCHARMC) -seq -o charmfilter -cp ../bin/ xl-sfspec.o
 
 xl-main.o: xl-main.c
-       $(CHARMC) -seq xl-main.c
+       $(SEQCHARMC) -seq xl-main.c
 
 xl-sym.o: xl-sym.c xl-sym.h
-       $(CHARMC) -seq xl-sym.c
+       $(SEQCHARMC) -seq xl-sym.c
 
 xl-str.o: xl-str.c
-       $(CHARMC) -seq xl-str.c
+       $(SEQCHARMC) -seq xl-str.c
 
 xl-lex.o: xl-lex.c xl-lex.h xl-sym.h
-       $(CHARMC) -seq xl-lex.c
+       $(SEQCHARMC) -seq xl-lex.c
 
 xl-rdtok.o: xl-rdtok.c xl-lex.h xl-sym.h
-       $(CHARMC) -seq xl-rdtok.c
+       $(SEQCHARMC) -seq xl-rdtok.c
 
 xl-parse.o: xl-parse.c xl-lex.h xl-sym.h
-       $(CHARMC) -seq xl-parse.c
+       $(SEQCHARMC) -seq xl-parse.c
 
 xl-outh.o: xl-outh.c xl-lex.h xl-sym.h
-       $(CHARMC) -seq xl-outh.c
+       $(SEQCHARMC) -seq xl-outh.c
 
 xl-srch.o: xl-srch.c xl-lex.h xl-sym.h
-       $(CHARMC) -seq xl-srch.c
+       $(SEQCHARMC) -seq xl-srch.c
 
 xl-dag.o: xl-dag.c
-       $(CHARMC) -seq xl-dag.c
+       $(SEQCHARMC) -seq xl-dag.c
 
 xl-yacc.tab.o: xl-yacc.tab.c xl-lex.h xl-sym.h
-       $(CHARMC) -seq xl-yacc.tab.c
+       $(SEQCHARMC) -seq xl-yacc.tab.c
 
 xl-lexsp.o: xl-lexsp.c 
-       $(CHARMC) -seq xl-lexsp.c
+       $(SEQCHARMC) -seq xl-lexsp.c
 
 xl-sfspec.o: xl-sfspec.c
-       $(CHARMC) -seq xl-sfspec.c
+       $(SEQCHARMC) -seq xl-sfspec.c
 
 ###############################################################################
 #
@@ -481,23 +487,23 @@ XPHEADERS=xp-extn.h xp-t.tab.c
 CHARMXLATXX=xp-process.o xp-table.o xp-t.tab.o xp-lexer.o
 
 charmxlat++: $(CHARMXLATXX) xp-sfilter.o
-       $(CHARMC) -seq -o charmxlat++   -cp ../bin/ $(CHARMXLATXX)
-       $(CHARMC) -seq -o charmfilter++ -cp ../bin/ xp-sfilter.o
+       $(SEQCHARMC) -seq -o charmxlat++   -cp ../bin/ $(CHARMXLATXX)
+       $(SEQCHARMC) -seq -o charmfilter++ -cp ../bin/ xp-sfilter.o
 
 xp-process.o: xp-process.c $(XPHEADERS)
-       $(CHARMC) -seq xp-process.c
+       $(SEQCHARMC) -seq xp-process.c
 
 xp-table.o: xp-table.c $(XPHEADERS)
-       $(CHARMC) -seq xp-table.c
+       $(SEQCHARMC) -seq xp-table.c
 
 xp-t.tab.o: xp-t.tab.c $(XPHEADERS)
-       $(CHARMC) -seq -DYYDEBUG xp-t.tab.c
+       $(SEQCHARMC) -seq -DYYDEBUG xp-t.tab.c
 
 xp-lexer.o: xp-lexer.c $(XPHEADERS)
-       $(CHARMC) -seq xp-lexer.c
+       $(SEQCHARMC) -seq xp-lexer.c
 
 xp-sfilter.o: xp-sfilter.c $(XPHEADERS)
-       $(CHARMC) -seq xp-sfilter.c
+       $(SEQCHARMC) -seq xp-sfilter.c
 
 ###############################################################################
 #
@@ -506,10 +512,10 @@ xp-sfilter.o: xp-sfilter.c $(XPHEADERS)
 ###############################################################################
 
 conv-cpm: conv-cpm.o
-       $(CHARMC) -seq -o conv-cpm -cp ../bin/ conv-cpm.o
+       $(SEQCHARMC) -seq -o conv-cpm -cp ../bin/ conv-cpm.o
 
 conv-cpm.o: conv-cpm.c
-       $(CHARMC) -seq conv-cpm.c
+       $(SEQCHARMC) -seq conv-cpm.c
 
 ###############################################################################
 #
@@ -521,22 +527,22 @@ XIHEADERS=xi-symbol.h xi-parse.tab.C
 CHARMXI=xi-main.o xi-symbol.o xi-generate.o xi-parse.tab.o xi-scan.o
 
 charmxi: $(CHARMXI)
-       $(CHARMC) -seq -language c++ -cp ../bin/ -o charmxi $(CHARMXI)
+       $(SEQCHARMC) -seq -language c++ -cp ../bin/ -o charmxi $(CHARMXI)
 
 xi-main.o: xi-main.C $(XIHEADERS)
-       $(CHARMC) -seq xi-main.C
+       $(SEQCHARMC) -seq xi-main.C
 
 xi-symbol.o: xi-symbol.C $(XIHEADERS)
-       $(CHARMC) -seq xi-symbol.C
+       $(SEQCHARMC) -seq xi-symbol.C
 
 xi-generate.o: xi-generate.C $(XIHEADERS)
-       $(CHARMC) -seq xi-generate.C
+       $(SEQCHARMC) -seq xi-generate.C
 
 xi-parse.tab.o: xi-parse.tab.C $(XIHEADERS)
-       $(CHARMC) -seq xi-parse.tab.C
+       $(SEQCHARMC) -seq xi-parse.tab.C
 
 xi-scan.o: xi-scan.C $(XIHEADERS)
-       $(CHARMC) -seq xi-scan.C
+       $(SEQCHARMC) -seq xi-scan.C
 
 ###############################################################################
 #
index 26c0b577d368ba3b55d46a645bddb35e2b993fed..d58d24c71979188a1aeb110f2096032b30efadc1 100755 (executable)
@@ -705,7 +705,7 @@ rm -f CHARMC-MOD.TMP.dat CHARMC-MOD.TMP.c CHARMC-MOD.TMP.o
 
 if (($LANGUAGE == charm) || ($LANGUAGE == charm++)) then
     if ($LANGUAGE == charm) then
-       echo '_CK_module_init_fn() {}' > CHARMC-MOD.TMP.c
+       echo 'void _CK_module_init_fn() {}' > CHARMC-MOD.TMP.c
        ($ECHOCMD ; $CMK_CC $OPTS_CC -c -o CHARMC-MOD.TMP.o CHARMC-MOD.TMP.c)
         ($ECHOCMD ; $CMK_LD $OPTS_LD -o CHARMC-PRE.TMP.xxx -L$CHARMLIB \
                       $BAL_OBJ $OBJECTFILES $LIBRARIES \
@@ -713,7 +713,7 @@ if (($LANGUAGE == charm) || ($LANGUAGE == charm++)) then
                       -lck-cplus-n -lconv-cplus-n -lconv-core \
                      -lck-defmain-std -lcharm -lm $CMK_LIBS)
     else if ($LANGUAGE == charm++) then
-       echo '_CK_module_init_fn() {}' > CHARMC-MOD.TMP.c
+       echo 'void _CK_module_init_fn() {}' > CHARMC-MOD.TMP.c
        ($ECHOCMD ; $CMK_CC $OPTS_CC -c -o CHARMC-MOD.TMP.o CHARMC-MOD.TMP.c)
         ($ECHOCMD ; $CMK_LDXX $OPTS_LDXX -o CHARMC-PRE.TMP.xxx -L$CHARMLIB \
                      $BAL_OBJ $OBJECTFILES $LIBRARIES \
@@ -727,7 +727,7 @@ if (($LANGUAGE == charm) || ($LANGUAGE == charm++)) then
     echo 'Charm Modules: '`cat CHARMC-MOD.TMP.dat`
     rm -f CHARMC-MOD.TMP.c
     awk '{print "extern void _CK_"$1"_init();";}' < CHARMC-MOD.TMP.dat >> CHARMC-MOD.TMP.c
-    echo '_CK_module_init_fn()' >> CHARMC-MOD.TMP.c
+    echo 'void _CK_module_init_fn()' >> CHARMC-MOD.TMP.c
     echo '{' >> CHARMC-MOD.TMP.c
     awk '{print "_CK_"$1"_init();";}' < CHARMC-MOD.TMP.dat >> CHARMC-MOD.TMP.c
     echo '}' >> CHARMC-MOD.TMP.c