From: "Paul E. McKenney" <paulmck@linux.ibm.com>
To: Nikos Tsironis <ntsironis@arrikto.com>
Cc: snitzer@redhat.com, agk@redhat.com, dm-devel@redhat.com,
mpatocka@redhat.com, hch@infradead.org, iliastsi@arrikto.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/6] list_bl: Add hlist_bl_add_before/behind helpers
Date: Mon, 18 Mar 2019 08:41:38 -0700 [thread overview]
Message-ID: <20190318154138.GI4102@linux.ibm.com> (raw)
In-Reply-To: <20190317122258.21760-3-ntsironis@arrikto.com>
On Sun, Mar 17, 2019 at 02:22:54PM +0200, Nikos Tsironis wrote:
> Add hlist_bl_add_before/behind helpers to add an element before/after an
> existing element in a bl_list.
>
> Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
> Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
On both this and the previous patch, the double signed-off-by lines
are a bit strange. You might be wanting Co-developed-by, but please
see Documentation/process/submitting-patches.rst.
Other than that:
Reviewed-by: Paul E. McKenney <paulmck@linux.ibm.com>
> ---
> include/linux/list_bl.h | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/include/linux/list_bl.h b/include/linux/list_bl.h
> index 3fc2cc57ba1b..ae1b541446c9 100644
> --- a/include/linux/list_bl.h
> +++ b/include/linux/list_bl.h
> @@ -86,6 +86,32 @@ static inline void hlist_bl_add_head(struct hlist_bl_node *n,
> hlist_bl_set_first(h, n);
> }
>
> +static inline void hlist_bl_add_before(struct hlist_bl_node *n,
> + struct hlist_bl_node *next)
> +{
> + struct hlist_bl_node **pprev = next->pprev;
> +
> + n->pprev = pprev;
> + n->next = next;
> + next->pprev = &n->next;
> +
> + /* pprev may be `first`, so be careful not to lose the lock bit */
> + WRITE_ONCE(*pprev,
> + (struct hlist_bl_node *)
> + ((uintptr_t)n | ((uintptr_t)*pprev & LIST_BL_LOCKMASK)));
> +}
> +
> +static inline void hlist_bl_add_behind(struct hlist_bl_node *n,
> + struct hlist_bl_node *prev)
> +{
> + n->next = prev->next;
> + n->pprev = &prev->next;
> + prev->next = n;
> +
> + if (n->next)
> + n->next->pprev = &n->next;
> +}
> +
> static inline void __hlist_bl_del(struct hlist_bl_node *n)
> {
> struct hlist_bl_node *next = n->next;
> --
> 2.11.0
>
next prev parent reply other threads:[~2019-03-18 15:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-17 12:22 [PATCH v3 0/6] dm snapshot: Improve performance using a more fine-grained locking scheme Nikos Tsironis
2019-03-17 12:22 ` Nikos Tsironis
2019-03-17 12:22 ` [PATCH v3 1/6] list: Don't use WRITE_ONCE() in hlist_add_behind() Nikos Tsironis
2019-03-18 15:39 ` Paul E. McKenney
2019-03-17 12:22 ` [PATCH v3 2/6] list_bl: Add hlist_bl_add_before/behind helpers Nikos Tsironis
2019-03-18 15:41 ` Paul E. McKenney [this message]
2019-03-20 17:44 ` Nikos Tsironis
2019-03-17 12:22 ` [PATCH v3 3/6] dm snapshot: Don't sleep holding the snapshot lock Nikos Tsironis
2019-03-17 12:22 ` Nikos Tsironis
2019-03-17 12:22 ` [PATCH v3 4/6] dm snapshot: Replace mutex with rw semaphore Nikos Tsironis
2019-03-17 12:22 ` [PATCH v3 5/6] dm snapshot: Make exception tables scalable Nikos Tsironis
2019-03-17 12:22 ` Nikos Tsironis
2019-03-17 12:22 ` [PATCH v3 6/6] dm snapshot: Use fine-grained locking scheme Nikos Tsironis
2019-03-20 19:06 ` [PATCH v3 0/6] dm snapshot: Improve performance using a more " Mikulas Patocka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190318154138.GI4102@linux.ibm.com \
--to=paulmck@linux.ibm.com \
--cc=agk@redhat.com \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=iliastsi@arrikto.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=ntsironis@arrikto.com \
--cc=snitzer@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.