Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 182244
b: refs/heads/master
c: 3120438
h: refs/heads/master
v: v3
  • Loading branch information
Paul E. McKenney authored and Ingo Molnar committed Feb 25, 2010
1 parent db91cf8 commit 800bba3
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0632eb3d7563d6a76d49a3860b6352d800c92854
refs/heads/master: 3120438ad68601f341e61e7cb1323b0e1a6ca367
14 changes: 7 additions & 7 deletions trunk/include/linux/rculist.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ static inline void list_splice_init_rcu(struct list_head *list,
* primitives such as list_add_rcu() as long as it's guarded by rcu_read_lock().
*/
#define list_entry_rcu(ptr, type, member) \
container_of(rcu_dereference(ptr), type, member)
container_of(rcu_dereference_raw(ptr), type, member)

/**
* list_first_entry_rcu - get the first element from a list
Expand All @@ -225,9 +225,9 @@ static inline void list_splice_init_rcu(struct list_head *list,
list_entry_rcu((ptr)->next, type, member)

#define __list_for_each_rcu(pos, head) \
for (pos = rcu_dereference((head)->next); \
for (pos = rcu_dereference_raw((head)->next); \
pos != (head); \
pos = rcu_dereference(pos->next))
pos = rcu_dereference_raw(pos->next))

/**
* list_for_each_entry_rcu - iterate over rcu list of given type
Expand Down Expand Up @@ -257,9 +257,9 @@ static inline void list_splice_init_rcu(struct list_head *list,
* as long as the traversal is guarded by rcu_read_lock().
*/
#define list_for_each_continue_rcu(pos, head) \
for ((pos) = rcu_dereference((pos)->next); \
for ((pos) = rcu_dereference_raw((pos)->next); \
prefetch((pos)->next), (pos) != (head); \
(pos) = rcu_dereference((pos)->next))
(pos) = rcu_dereference_raw((pos)->next))

/**
* list_for_each_entry_continue_rcu - continue iteration over list of given type
Expand Down Expand Up @@ -418,10 +418,10 @@ static inline void hlist_add_after_rcu(struct hlist_node *prev,
* as long as the traversal is guarded by rcu_read_lock().
*/
#define hlist_for_each_entry_rcu(tpos, pos, head, member) \
for (pos = rcu_dereference((head)->first); \
for (pos = rcu_dereference_raw((head)->first); \
pos && ({ prefetch(pos->next); 1; }) && \
({ tpos = hlist_entry(pos, typeof(*tpos), member); 1; }); \
pos = rcu_dereference(pos->next))
pos = rcu_dereference_raw(pos->next))

#endif /* __KERNEL__ */
#endif
4 changes: 2 additions & 2 deletions trunk/include/linux/rculist_nulls.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,10 @@ static inline void hlist_nulls_add_head_rcu(struct hlist_nulls_node *n,
*
*/
#define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member) \
for (pos = rcu_dereference((head)->first); \
for (pos = rcu_dereference_raw((head)->first); \
(!is_a_nulls(pos)) && \
({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \
pos = rcu_dereference(pos->next))
pos = rcu_dereference_raw(pos->next))

#endif
#endif

0 comments on commit 800bba3

Please sign in to comment.