diff options
Diffstat (limited to 'include/linux/rculist.h')
| -rw-r--r-- | include/linux/rculist.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/rculist.h b/include/linux/rculist.h index 5710f43bbc9e..1bf0f708c4fc 100644 --- a/include/linux/rculist.h +++ b/include/linux/rculist.h | |||
| @@ -262,6 +262,20 @@ static inline void list_splice_init_rcu(struct list_head *list, | |||
| 262 | (pos) = rcu_dereference((pos)->next)) | 262 | (pos) = rcu_dereference((pos)->next)) |
| 263 | 263 | ||
| 264 | /** | 264 | /** |
| 265 | * list_for_each_entry_continue_rcu - continue iteration over list of given type | ||
| 266 | * @pos: the type * to use as a loop cursor. | ||
| 267 | * @head: the head for your list. | ||
| 268 | * @member: the name of the list_struct within the struct. | ||
| 269 | * | ||
| 270 | * Continue to iterate over list of given type, continuing after | ||
| 271 | * the current position. | ||
| 272 | */ | ||
| 273 | #define list_for_each_entry_continue_rcu(pos, head, member) \ | ||
| 274 | for (pos = list_entry_rcu(pos->member.next, typeof(*pos), member); \ | ||
| 275 | prefetch(pos->member.next), &pos->member != (head); \ | ||
| 276 | pos = list_entry_rcu(pos->member.next, typeof(*pos), member)) | ||
| 277 | |||
| 278 | /** | ||
| 265 | * hlist_del_rcu - deletes entry from hash list without re-initialization | 279 | * hlist_del_rcu - deletes entry from hash list without re-initialization |
| 266 | * @n: the element to delete from the hash list. | 280 | * @n: the element to delete from the hash list. |
| 267 | * | 281 | * |
