diff options
55 files changed, 1346 insertions, 448 deletions
diff --git a/Documentation/RCU/00-INDEX b/Documentation/RCU/00-INDEX index 9bb62f7b89c3..71b6f500ddb9 100644 --- a/Documentation/RCU/00-INDEX +++ b/Documentation/RCU/00-INDEX | |||
| @@ -6,16 +6,22 @@ checklist.txt | |||
| 6 | - Review Checklist for RCU Patches | 6 | - Review Checklist for RCU Patches |
| 7 | listRCU.txt | 7 | listRCU.txt |
| 8 | - Using RCU to Protect Read-Mostly Linked Lists | 8 | - Using RCU to Protect Read-Mostly Linked Lists |
| 9 | lockdep.txt | ||
| 10 | - RCU and lockdep checking | ||
| 9 | NMI-RCU.txt | 11 | NMI-RCU.txt |
| 10 | - Using RCU to Protect Dynamic NMI Handlers | 12 | - Using RCU to Protect Dynamic NMI Handlers |
| 13 | rcubarrier.txt | ||
| 14 | - RCU and Unloadable Modules | ||
| 15 | rculist_nulls.txt | ||
| 16 | - RCU list primitives for use with SLAB_DESTROY_BY_RCU | ||
| 11 | rcuref.txt | 17 | rcuref.txt |
| 12 | - Reference-count design for elements of lists/arrays protected by RCU | 18 | - Reference-count design for elements of lists/arrays protected by RCU |
| 13 | rcu.txt | 19 | rcu.txt |
| 14 | - RCU Concepts | 20 | - RCU Concepts |
| 15 | rcubarrier.txt | ||
| 16 | - Unloading modules that use RCU callbacks | ||
| 17 | RTFP.txt | 21 | RTFP.txt |
| 18 | - List of RCU papers (bibliography) going back to 1980. | 22 | - List of RCU papers (bibliography) going back to 1980. |
| 23 | stallwarn.txt | ||
| 24 | - RCU CPU stall warnings (CONFIG_RCU_CPU_STALL_DETECTOR) | ||
| 19 | torture.txt | 25 | torture.txt |
| 20 | - RCU Torture Test Operation (CONFIG_RCU_TORTURE_TEST) | 26 | - RCU Torture Test Operation (CONFIG_RCU_TORTURE_TEST) |
| 21 | trace.txt | 27 | trace.txt |
diff --git a/Documentation/RCU/RTFP.txt b/Documentation/RCU/RTFP.txt index d2b85237c76e..5aea459e3dd6 100644 --- a/Documentation/RCU/RTFP.txt +++ b/Documentation/RCU/RTFP.txt | |||
| @@ -25,10 +25,10 @@ to be referencing the data structure. However, this mechanism was not | |||
| 25 | optimized for modern computer systems, which is not surprising given | 25 | optimized for modern computer systems, which is not surprising given |
| 26 | that these overheads were not so expensive in the mid-80s. Nonetheless, | 26 | that these overheads were not so expensive in the mid-80s. Nonetheless, |
| 27 | passive serialization appears to be the first deferred-destruction | 27 | passive serialization appears to be the first deferred-destruction |
| 28 | mechanism to be used in production. Furthermore, the relevant patent has | 28 | mechanism to be used in production. Furthermore, the relevant patent |
| 29 | lapsed, so this approach may be used in non-GPL software, if desired. | 29 | has lapsed, so this approach may be used in non-GPL software, if desired. |
| 30 | (In contrast, use of RCU is permitted only in software licensed under | 30 | (In contrast, implementation of RCU is permitted only in software licensed |
| 31 | GPL. Sorry!!!) | 31 | under either GPL or LGPL. Sorry!!!) |
| 32 | 32 | ||
| 33 | In 1990, Pugh [Pugh90] noted that explicitly tracking which threads | 33 | In 1990, Pugh [Pugh90] noted that explicitly tracking which threads |
| 34 | were reading a given data structure permitted deferred free to operate | 34 | were reading a given data structure permitted deferred free to operate |
| @@ -150,6 +150,18 @@ preemptible RCU [PaulEMcKenney2007PreemptibleRCU], and the three-part | |||
| 150 | LWN "What is RCU?" series [PaulEMcKenney2007WhatIsRCUFundamentally, | 150 | LWN "What is RCU?" series [PaulEMcKenney2007WhatIsRCUFundamentally, |
| 151 | PaulEMcKenney2008WhatIsRCUUsage, and PaulEMcKenney2008WhatIsRCUAPI]. | 151 | PaulEMcKenney2008WhatIsRCUUsage, and PaulEMcKenney2008WhatIsRCUAPI]. |
| 152 | 152 | ||
| 153 | 2008 saw a journal paper on real-time RCU [DinakarGuniguntala2008IBMSysJ], | ||
| 154 | a history of how Linux changed RCU more than RCU changed Linux | ||
| 155 | [PaulEMcKenney2008RCUOSR], and a design overview of hierarchical RCU | ||
| 156 | [PaulEMcKenney2008HierarchicalRCU]. | ||
| 157 | |||
| 158 | 2009 introduced user-level RCU algorithms [PaulEMcKenney2009MaliciousURCU], | ||
| 159 | which Mathieu Desnoyers is now maintaining [MathieuDesnoyers2009URCU] | ||
| 160 | [MathieuDesnoyersPhD]. TINY_RCU [PaulEMcKenney2009BloatWatchRCU] made | ||
| 161 | its appearance, as did expedited RCU [PaulEMcKenney2009expeditedRCU]. | ||
| 162 | The problem of resizeable RCU-protected hash tables may now be on a path | ||
| 163 | to a solution [JoshTriplett2009RPHash]. | ||
| 164 | |||
| 153 | Bibtex Entries | 165 | Bibtex Entries |
| 154 | 166 | ||
| 155 | @article{Kung80 | 167 | @article{Kung80 |
| @@ -730,6 +742,11 @@ Revised: | |||
| 730 | " | 742 | " |
| 731 | } | 743 | } |
| 732 | 744 | ||
| 745 | # | ||
| 746 | # "What is RCU?" LWN series. | ||
| 747 | # | ||
| 748 | ######################################################################## | ||
| 749 | |||
| 733 | @article{DinakarGuniguntala2008IBMSysJ | 750 | @article{DinakarGuniguntala2008IBMSysJ |
| 734 | ,author="D. Guniguntala and P. E. McKenney and J. Triplett and J. Walpole" | 751 | ,author="D. Guniguntala and P. E. McKenney and J. Triplett and J. Walpole" |
| 735 | ,title="The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with {Linux}" | 752 | ,title="The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with {Linux}" |
| @@ -820,3 +837,39 @@ Revised: | |||
| 820 | Uniprocessor assumptions allow simplified RCU implementation. | 837 | Uniprocessor assumptions allow simplified RCU implementation. |
| 821 | " | 838 | " |
| 822 | } | 839 | } |
| 840 | |||
| 841 | @unpublished{PaulEMcKenney2009expeditedRCU | ||
| 842 | ,Author="Paul E. McKenney" | ||
| 843 | ,Title="[{PATCH} -tip 0/3] expedited 'big hammer' {RCU} grace periods" | ||
| 844 | ,month="June" | ||
| 845 | ,day="25" | ||
| 846 | ,year="2009" | ||
| 847 | ,note="Available: | ||
| 848 | \url{http://lkml.org/lkml/2009/6/25/306} | ||
| 849 | [Viewed August 16, 2009]" | ||
| 850 | ,annotation=" | ||
| 851 | First posting of expedited RCU to be accepted into -tip. | ||
| 852 | " | ||
| 853 | } | ||
| 854 | |||
| 855 | @unpublished{JoshTriplett2009RPHash | ||
| 856 | ,Author="Josh Triplett" | ||
| 857 | ,Title="Scalable concurrent hash tables via relativistic programming" | ||
