Adding initial support for optimized message-logging protocol for collectives.
[charm.git] / src / libs / ck-libs / multicast / ckmulticast.C
index f5501b174ac5750337c3f386bb1e841fead9e03d..70c01c206b1fbaeb47a0fb63fa4fc116bb40732b 100644 (file)
 #define DEBUGF(x)  // CkPrintf x;
 
 // turn on or off fragmentation in multicast
+#if CMK_MESSAGE_LOGGING
+#define SPLIT_MULTICAST  0
+#else
 #define SPLIT_MULTICAST  1
+#endif
 
 // maximum number of fragments into which a message can be broken
 #define MAXFRAGS 100
@@ -705,6 +709,11 @@ void CkMulticastMgr::SimpleSend(int ep,void *m, CkArrayID a, CkSectionID &sid, i
 
 void CkMulticastMgr::ArraySectionSend(CkDelegateData *pd,int ep,void *m, int nsid, CkSectionID *sid, int opts)
 {
+#if CMK_MESSAGE_LOGGING
+       envelope *env = UsrToEnv(m);
+       env->flags = env->flags | CK_MULTICAST_MSG_MLOG;
+#endif
+
     for (int snum = 0; snum < nsid; snum++) {
         void *msgCopy = m;
         if (nsid - snum > 1)