list_for_each_entry 位於 list.h

 


#define hlist_for_each_entry(tpos, pos, head, member) \
for (pos = (head)->first; \
    pos && ({ prefetch(pos->next); 1;}) && \
({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
    pos = pos->next)

 

list_for_each_entry_rcu 位於 rculist.h

#define list_for_each_entry_rcu(pos, head, member) \
for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \
prefetch(pos->member.next), &pos->member != (head); \
pos = list_entry_rcu(pos->member.next, typeof(*pos), member))

 

What is RCU, Fundamentally?
http://lwn.net/Articles/262464/

arrow
arrow
    全站熱搜

    西西 發表在 痞客邦 留言(0) 人氣()