remove list_for_each_rcu()
Subsystems (2)
PATCH 1/1 remove list_for_each_rcu()
Hello!
All of the in-tree uses of list_for_each_rcu() have been converted to list_for_each_entry_rcu(), so list_for_each_rcu() can now be removed.
Signed-off-by Paul E. McKenney <[email protected]>
---
Documentation/RCU/checklist.txt | 2 +- Documentation/RCU/whatisRCU.txt | 2 -- include/linux/rculist.h | 14 -------------- 3 files changed, 1 insertion(+), 17 deletions(-)
Documentation/RCU/checklist.txt +1 -1
@@ -210,7 +210,7 @@ over a rather long period of time, but improvements are always welcome! number of updates per grace period. 9. All RCU list-traversal primitives, which include - rcu_dereference(), list_for_each_rcu(), list_for_each_entry_rcu(), + rcu_dereference(), list_for_each_entry_rcu(), list_for_each_continue_rcu(), and list_for_each_safe_rcu(), must be either within an RCU read-side critical section or must be protected by appropriate update-side locks. RCU
Documentation/RCU/whatisRCU.txt +0 -2
@@ -786,8 +786,6 @@ RCU pointer/list traversal: list_for_each_entry_rcu hlist_for_each_entry_rcu - list_for_each_rcu (to be deprecated in favor of - list_for_each_entry_rcu) list_for_each_continue_rcu (to be deprecated in favor of new list_for_each_entry_continue_rcu)
include/linux/rculist.h +0 -14
@@ -170,20 +170,6 @@ static inline void list_splice_init_rcu(struct list_head *list, at->prev = last; } -/** -* list_for_each_rcu - iterate over an rcu-protected list -* @pos: the &struct list_head to use as a loop cursor. -* @head: the head for your list. -* -* This list-traversal primitive may safely run concurrently with -* the _rcu list-mutation primitives such as list_add_rcu() -* as long as the traversal is guarded by rcu_read_lock(). -*/ -#define list_for_each_rcu (pos, head) \ - for (pos = rcu_dereference((head)->next); \ - prefetch(pos->next), pos != (head); \ - pos = rcu_dereference(pos->next)) -#define __list_for_each_rcu (pos, head) \ for (pos = rcu_dereference((head)->next); \ pos != (head); \
Ingo Molnar
AppliedQuoted 6 lines · Paul E. McKenney
Hello!
All of the in-tree uses of
list_for_each_rcu()have been converted tolist_for_each_entry_rcu(), solist_for_each_rcu()can now be removed.Signed-off-by Paul E. McKenney <[email protected]>
applied to tip/core/rcu - thanks.
Ingo