#277: Exposing lb start trigger as CkStartLB() and adding documentation for it.
authorRonak Buch <rabuch2@illinois.edu>
Thu, 10 Oct 2013 22:20:38 +0000 (17:20 -0500)
committerRonak Buch <rabuch2@illinois.edu>
Thu, 10 Oct 2013 22:20:38 +0000 (17:20 -0500)
doc/charm++/loadb.tex
src/ck-ldb/LBDatabase.h

index d4fc5f6b311bd515d1640f098970acc0e16885e3..106ab8c4a1c30f6e711ea808305491eafb0f86fd 100644 (file)
@@ -238,29 +238,13 @@ called in the constructor of a static array and definitely before the {\em
 doneInserting} call for a dynamic array.  It can be called multiple times on
 one processor, but only the last one takes effect.
 
-The function call {\em StartLB()} starts load balancing immediately. This call
-should be made at only one place on only one processor. This function is also
+The function call {\em CkStartLB()} starts load balancing immediately. This call
+should be made at only one place on only one processor. This function is
 not blocking, the object will continue to process messages and the load
-balancing when triggered happens in the background. Note that the {\em
-StartLB()} method can not be called directly, instead it is called on the {\em
-LBDatabase} object. The following code snippet illustrates this use:
-
-\begin{alltt}
-/* The method that initiates load balancing. */
-\{
-  LBDatabase *db = LBDatabaseObj();
-  /* Do something and pick an opportune moment to sneak in a wake-up
-   * call to the LB. */
-  db->StartLB();
-  /* To make sure that the LB is done balancing things, insert the
-  following also. */
-  CkWaitQD();
-  /* Do something else. */
-\}
-\end{alltt}
+balancing, when triggered, happens in the background.
 
 {\em TurnManualLBOff()} turns off manual load balancing and switches back to
-the automatic Load balancing mode.
+the automatic load balancing mode.
 %
 \end{enumerate}
 
index c2611f992dac1e661e9588efa30de546b09c92ef..453045b4bf4ef33d319b5a13430d6ba0a89a252f 100644 (file)
@@ -435,6 +435,8 @@ void LBClearLoads();
 
 inline LBDatabase* LBDatabaseObj() { return LBDatabase::Object(); }
 
+inline void CkStartLB() { LBDatabase::Object()->StartLB(); }
+
 inline void get_avail_vector(char * bitmap) {
   LBDatabaseObj()->get_avail_vector(bitmap);
 }