Merge branch 'charm' of charmgit:charm into charm-mpi-interop
[charm.git] / src / conv-core / converse.h
index df4b7c16c9507723bd93167d6885b8e2f1eeeab5..34673d222043d7587bf03ab98ff8be8f32b71126 100644 (file)
@@ -204,11 +204,18 @@ extern void CmiNodeBarrier(void);
 extern void CmiNodeAllBarrier(void);
 #define CmiSvAlloc CmiAlloc
 
+#if CMK_HAS_SPINLOCK && CMK_USE_SPINLOCK
+typedef pthread_spinlock_t *CmiNodeLock;
+#define CmiLock(lock) (pthread_spin_lock(lock))
+#define CmiUnlock(lock) (pthread_spin_unlock(lock))
+#define CmiTryLock(lock) (pthread_spin_trylock(lock))
+#else
 typedef pthread_mutex_t *CmiNodeLock;
-extern CmiNodeLock CmiCreateLock();
 #define CmiLock(lock) (pthread_mutex_lock(lock))
 #define CmiUnlock(lock) (pthread_mutex_unlock(lock))
 #define CmiTryLock(lock) (pthread_mutex_trylock(lock))
+#endif
+extern CmiNodeLock CmiCreateLock();
 extern void CmiDestroyLock(CmiNodeLock lock);
 
 extern CmiNodeLock CmiMemLock_lock;
@@ -1831,6 +1838,14 @@ extern int *memCriticalEntries;
 
 double CmiReadSize(const char *str);
 
+#if  CMK_CONVERSE_GEMINI_UGNI
+void CmiTurnOnStats();
+void CmiTurnOffStats();
+#else
+#define CmiTurnOnStats()
+#define CmiTurnOffStats()
+#endif
+
 #if defined(__cplusplus)
 }                                         /* end of extern "C"  */
 #endif
@@ -1906,7 +1921,6 @@ EXTERN void CmiNotifyCommThd(CmiNotifyCommThdMsg *msg);
 CpvCExtern(int, _urgentSend);
 #define CmiEnableUrgentSend(yn)   CpvAccess(_urgentSend)=(yn)
 
-
 /* CharmLibInterOperate should be a global variable as it will be
  * set only once by MPI ranks respectively.
  */