[haiku-commits] r36556 - haiku/trunk/src/system/kernel

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 30 Apr 2010 20:33:25 +0200 (CEST)

Author: bonefish
Date: 2010-04-30 20:33:25 +0200 (Fri, 30 Apr 2010)
New Revision: 36556
Changeset: http://dev.haiku-os.org/changeset/36556/haiku

Modified:
   haiku/trunk/src/system/kernel/smp.cpp
Log:
Documented smp_cpu_rendezvous().


Modified: haiku/trunk/src/system/kernel/smp.cpp
===================================================================
--- haiku/trunk/src/system/kernel/smp.cpp       2010-04-30 16:09:54 UTC (rev 
36555)
+++ haiku/trunk/src/system/kernel/smp.cpp       2010-04-30 18:33:25 UTC (rev 
36556)
@@ -1076,7 +1076,17 @@
        }
 }
 
-/* have all cpus spin until all have run */
+
+/*!    Spin until all CPUs have reached the rendez-vous point.
+
+       The rendez-vous variable \c *var must have been initialized to 0 before 
the
+       function is called. The variable will be non-null when the function 
returns.
+
+       Note that when the function returns on one CPU, it only means that all 
CPU
+       have already entered the function. It does not mean that the variable 
can
+       already be reset. Only when all CPUs have returned (which would have to 
be
+       ensured via another rendez-vous) the variable can be reset.
+*/
 void
 smp_cpu_rendezvous(volatile uint32 *var, int current_cpu)
 {
@@ -1086,6 +1096,7 @@
                PAUSE();
 }
 
+
 status_t
 smp_init(kernel_args *args)
 {


Other related posts:

  • » [haiku-commits] r36556 - haiku/trunk/src/system/kernel - ingo_weinhold