diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2016-07-04 05:50:27 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2016-07-07 04:35:07 -0400 |
| commit | 15dba1e37b5cfd7fab9bc84e0f05f35c918f4eef (patch) | |
| tree | 9388b6b0c3347e48f4abfa59e35fe4bcde22bcc3 /include | |
| parent | 2b1ecc3d1a6b10f8fbac7f83d80db30b5a2c2791 (diff) | |
hlist: Add hlist_is_singular_node() helper
Required to figure out whether the entry is the only one in the hlist.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Chris Mason <clm@fb.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: George Spelvin <linux@sciencehorizons.net>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160704094341.867631372@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/list.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/list.h b/include/linux/list.h index 5356f4d661a7..5183138aa932 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
| @@ -679,6 +679,16 @@ static inline bool hlist_fake(struct hlist_node *h) | |||
| 679 | } | 679 | } |
| 680 | 680 | ||
| 681 | /* | 681 | /* |
| 682 | * Check whether the node is the only node of the head without | ||
| 683 | * accessing head: | ||
| 684 | */ | ||
| 685 | static inline bool | ||
| 686 | hlist_is_singular_node(struct hlist_node *n, struct hlist_head *h) | ||
| 687 | { | ||
| 688 | return !n->next && n->pprev == &h->first; | ||
| 689 | } | ||
| 690 | |||
| 691 | /* | ||
| 682 | * Move a list from one list head to another. Fixup the pprev | 692 | * Move a list from one list head to another. Fixup the pprev |
| 683 | * reference of the first entry if it exists. | 693 | * reference of the first entry if it exists. |
| 684 | */ | 694 | */ |
