[Linux-kernel-mentees] [PATCH 2/2] Documentation: RCU: arrayRCU: Improve format for arrayRCU.rst

Paul E. McKenney paulmck at kernel.org
Wed Nov 6 08:50:17 UTC 2019


On Wed, Nov 06, 2019 at 02:59:27AM +0530, madhuparnabhowmik04 at gmail.com wrote:
> From: Madhuparna Bhowmik <madhuparnabhowmik04 at gmail.com>
> 
> This patch adds cross-references and fixes a few formtting issues.
> 
> Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04 at gmail.com>

Hearing no objections, applied to be squashed into this commit:

7e42de651ffd ("Documentation: RCU: arrayRCU: Converted arrayRCU.txt
to arrayRCU.rst")

And with the addition of Phong's and Amol's Tested-by tags.

							Thanx, Paul

> ---
>  Documentation/RCU/arrayRCU.rst | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/RCU/arrayRCU.rst b/Documentation/RCU/arrayRCU.rst
> index ed5ae24b196e..30c007edfbfb 100644
> --- a/Documentation/RCU/arrayRCU.rst
> +++ b/Documentation/RCU/arrayRCU.rst
> @@ -6,16 +6,16 @@ Using RCU to Protect Read-Mostly Arrays
>  Although RCU is more commonly used to protect linked lists, it can
>  also be used to protect arrays.  Three situations are as follows:
>  
> -1.  Hash Tables
> +1.  :ref:`Hash Tables <hash_tables>`
>  
> -2.  Static Arrays
> +2.  :ref:`Static Arrays <static_arrays>`
>  
> -3.  Resizeable Arrays
> +3.  :ref:`Resizeable Arrays <resizeable_arrays>`
>  
>  Each of these three situations involves an RCU-protected pointer to an
>  array that is separately indexed.  It might be tempting to consider use
>  of RCU to instead protect the index into an array, however, this use
> -case is -not- supported.  The problem with RCU-protected indexes into
> +case is **not** supported.  The problem with RCU-protected indexes into
>  arrays is that compilers can play way too many optimization games with
>  integers, which means that the rules governing handling of these indexes
>  are far more trouble than they are worth.  If RCU-protected indexes into
> @@ -26,6 +26,7 @@ to be safely used.
>  That aside, each of the three RCU-protected pointer situations are
>  described in the following sections.
>  
> +.. _hash_tables:
>  
>  Situation 1: Hash Tables
>  ------------------------
> @@ -35,6 +36,7 @@ has a linked-list hash chain.  Each hash chain can be protected by RCU
>  as described in the listRCU.txt document.  This approach also applies
>  to other array-of-list situations, such as radix trees.
>  
> +.. _static_arrays:
>  
>  Situation 2: Static Arrays
>  --------------------------
> @@ -50,6 +52,8 @@ Quick Quiz:
>  
>  :ref:`Answer to Quick Quiz <answer_quick_quiz_seqlock>`
>  
> +.. _resizeable_arrays:
> +
>  Situation 3: Resizeable Arrays
>  ------------------------------
>  
> @@ -66,7 +70,7 @@ the remainder of the new, updates the ids->entries pointer to point to
>  the new array, and invokes ipc_rcu_putref() to free up the old array.
>  Note that rcu_assign_pointer() is used to update the ids->entries pointer,
>  which includes any memory barriers required on whatever architecture
> -you are running on.::
> +you are running on::
>  
>  	static int grow_ary(struct ipc_ids* ids, int newsize)
>  	{
> @@ -118,7 +122,7 @@ a simple check suffices.  The pointer to the structure corresponding
>  to the desired IPC object is placed in "out", with NULL indicating
>  a non-existent entry.  After acquiring "out->lock", the "out->deleted"
>  flag indicates whether the IPC object is in the process of being
> -deleted, and, if not, the pointer is returned.::
> +deleted, and, if not, the pointer is returned::
>  
>  	struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id)
>  	{
> -- 
> 2.17.1
> 


More information about the Linux-kernel-mentees mailing list