From: Dipankar Sarma This patch From: Dipankar Sarma makes the list macros use smp-only version of the barriers, no need to hurt UP performance. (forwarded by akpm@digeo.com) include/linux/list.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -puN include/linux/list.h~list-barriers-on-smp-only include/linux/list.h --- 25/include/linux/list.h~list-barriers-on-smp-only 2003-03-20 18:25:39.000000000 -0800 +++ 25-akpm/include/linux/list.h 2003-03-20 18:25:39.000000000 -0800 @@ -84,7 +84,7 @@ static __inline__ void __list_add_rcu(st { new->next = next; new->prev = prev; - wmb(); + smp_wmb(); next->prev = new; prev->next = new; } @@ -303,11 +303,11 @@ static inline void list_splice_init(stru */ #define list_for_each_rcu(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ - pos = pos->next, ({ read_barrier_depends(); 0;}), prefetch(pos->next)) + pos = pos->next, ({ smp_read_barrier_depends(); 0;}), prefetch(pos->next)) #define __list_for_each_rcu(pos, head) \ for (pos = (head)->next; pos != (head); \ - pos = pos->next, ({ read_barrier_depends(); 0;})) + pos = pos->next, ({ smp_read_barrier_depends(); 0;})) /** * list_for_each_safe_rcu - iterate over an rcu-protected list safe @@ -318,7 +318,7 @@ static inline void list_splice_init(stru */ #define list_for_each_safe_rcu(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ - pos = n, ({ read_barrier_depends(); 0;}), n = pos->next) + pos = n, ({ smp_read_barrier_depends(); 0;}), n = pos->next) /* * Double linked lists with a single pointer list head. _