rcu: remove list_for_each_rcu()
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 <paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
ff9cf2ce7a
commit
34d7c2b38d
3 changed files with 1 additions and 17 deletions
|
@ -210,7 +210,7 @@ over a rather long period of time, but improvements are always welcome!
|
||||||
number of updates per grace period.
|
number of updates per grace period.
|
||||||
|
|
||||||
9. All RCU list-traversal primitives, which include
|
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(),
|
list_for_each_continue_rcu(), and list_for_each_safe_rcu(),
|
||||||
must be either within an RCU read-side critical section or
|
must be either within an RCU read-side critical section or
|
||||||
must be protected by appropriate update-side locks. RCU
|
must be protected by appropriate update-side locks. RCU
|
||||||
|
|
|
@ -786,8 +786,6 @@ RCU pointer/list traversal:
|
||||||
list_for_each_entry_rcu
|
list_for_each_entry_rcu
|
||||||
hlist_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_continue_rcu (to be deprecated in favor of new
|
||||||
list_for_each_entry_continue_rcu)
|
list_for_each_entry_continue_rcu)
|
||||||
|
|
||||||
|
|
|
@ -198,20 +198,6 @@ static inline void list_splice_init_rcu(struct list_head *list,
|
||||||
at->prev = last;
|
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) \
|
#define __list_for_each_rcu(pos, head) \
|
||||||
for (pos = rcu_dereference((head)->next); \
|
for (pos = rcu_dereference((head)->next); \
|
||||||
pos != (head); \
|
pos != (head); \
|
||||||
|
|
Loading…
Reference in a new issue