<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 10, 2019 at 12:03 AM Paul E. McKenney <<a href="mailto:paulmck@kernel.org">paulmck@kernel.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Dec 09, 2019 at 01:20:43PM +0530, <a href="mailto:madhuparnabhowmik04@gmail.com" target="_blank">madhuparnabhowmik04@gmail.com</a> wrote:<br>
> From: Madhuparna Bhowmik <<a href="mailto:madhuparnabhowmik04@gmail.com" target="_blank">madhuparnabhowmik04@gmail.com</a>><br>
> <br>
> This patch adds the macro list_tail_rcu() and document it.<br>
> <br>
> Signed-off-by: Madhuparna Bhowmik <<a href="mailto:madhuparnabhowmik04@gmail.com" target="_blank">madhuparnabhowmik04@gmail.com</a>><br>
<br>
Queued with slight edits, thank you very much!<br>
<br></blockquote><div>Thank you!</div><div><br></div><div>Regards,</div><div>Madhuparna </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                                        Thanx, Paul<br>
<br>
> ---<br>
>  include/linux/rculist.h | 10 ++++++++++<br>
>  1 file changed, 10 insertions(+)<br>
> <br>
> diff --git a/include/linux/rculist.h b/include/linux/rculist.h<br>
> index 4b7ae1bf50b3..9f21efa525ab 100644<br>
> --- a/include/linux/rculist.h<br>
> +++ b/include/linux/rculist.h<br>
> @@ -40,6 +40,16 @@ static inline void INIT_LIST_HEAD_RCU(struct list_head *list)<br>
>   */<br>
>  #define list_next_rcu(list)  (*((struct list_head __rcu **)(&(list)->next)))<br>
>  <br>
> +/**<br>
> + * list_tail_rcu - returns the prev pointer of the head of the list<br>
> + * @head: the head of the list<br>
> + *<br>
> + * Note: This should only be used with the list header,<br>
> + * but only if list_del() and similar primitives are not<br>
> + * also used on the list header.<br>
> + */<br>
> +#define list_tail_rcu(head)  (*((struct list_head __rcu **)(&(head)->prev)))<br>
> +<br>
>  /*<br>
>   * Check during list traversal that we are within an RCU reader<br>
>   */<br>
> -- <br>
> 2.17.1<br>
> <br>
</blockquote></div></div><div hspace="streak-pt-mark" style="max-height:1px"><img alt="" style="width:0px;max-height:0px;overflow:hidden" src="https://mailfoogae.appspot.com/t?sender=abWFkaHVwYXJuYWJob3dtaWswNEBnbWFpbC5jb20%3D&type=zerocontent&guid=9f376a5a-0080-4476-85b6-1a97970d40ec"><font color="#ffffff" size="1">ᐧ</font></div>