numa: update Documentation/vm/numa, add memoryless node info
[safe/jmp/linux-2.6] / Documentation / RCU / rcu.txt
index 7e0c2ab..3185270 100644 (file)
@@ -36,6 +36,14 @@ o    How can the updater tell when a grace period has completed
        executed in user mode, or executed in the idle loop, we can
        safely free up that item.
 
+       Preemptible variants of RCU (CONFIG_TREE_PREEMPT_RCU) get the
+       same effect, but require that the readers manipulate CPU-local
+       counters.  These counters allow limited types of blocking
+       within RCU read-side critical sections.  SRCU also uses
+       CPU-local counters, and permits general blocking within
+       RCU read-side critical sections.  These two variants of
+       RCU detect grace periods by sampling these counters.
+
 o      If I am running on a uniprocessor kernel, which can only do one
        thing at a time, why should I wait for a grace period?
 
@@ -43,7 +51,13 @@ o    If I am running on a uniprocessor kernel, which can only do one
 
 o      How can I see where RCU is currently used in the Linux kernel?
 
-       Search for "rcu_read_lock", "call_rcu", and "synchronize_kernel".
+       Search for "rcu_read_lock", "rcu_read_unlock", "call_rcu",
+       "rcu_read_lock_bh", "rcu_read_unlock_bh", "call_rcu_bh",
+       "srcu_read_lock", "srcu_read_unlock", "synchronize_rcu",
+       "synchronize_net", "synchronize_srcu", and the other RCU
+       primitives.  Or grab one of the cscope databases from:
+
+       http://www.rdrop.com/users/paulmck/RCU/linuxusage/rculocktab.html
 
 o      What guidelines should I follow when writing code that uses RCU?
 
@@ -61,7 +75,22 @@ o    I hear that RCU is patented?  What is with that?
        search for the string "Patent" in RTFP.txt to find them.
        Of these, one was allowed to lapse by the assignee, and the
        others have been contributed to the Linux kernel under GPL.
+       There are now also LGPL implementations of user-level RCU
+       available (http://lttng.org/?q=node/18).
+
+o      I hear that RCU needs work in order to support realtime kernels?
+
+       This work is largely completed.  Realtime-friendly RCU can be
+       enabled via the CONFIG_TREE_PREEMPT_RCU kernel configuration
+       parameter.  However, work is in progress for enabling priority
+       boosting of preempted RCU read-side critical sections.  This is
+       needed if you have CPU-bound realtime threads.
 
 o      Where can I find more information on RCU?
 
        See the RTFP.txt file in this directory.
+       Or point your browser at http://www.rdrop.com/users/paulmck/RCU/.
+
+o      What are all these files in this directory?
+
+       See 00-INDEX for the list.