RDS: Remove unused XLIST_PTR_TAIL and xlist_protect()
Andy Grover [Fri, 11 Jun 2010 23:24:42 +0000 (16:24 -0700)]
Not used.

Signed-off-by: Andy Grover <andy.grover@oracle.com>

net/rds/xlist.h

index 8c21aca..e6b5190 100644 (file)
@@ -10,13 +10,18 @@ struct xlist_head {
        struct xlist_head *next;
 };
 
-/*
- * XLIST_PTR_TAIL can be used to prevent double insertion.  See
- * xlist_protect()
- */
-#define XLIST_PTR_TAIL ((struct xlist_head *)0x1)
+static inline void INIT_XLIST_HEAD(struct xlist_head *list)
+{
+       list->next = NULL;
+}
+
+static inline int xlist_empty(struct xlist_head *head)
+{
+       return head->next == NULL;
+}
 
-static inline void xlist_add(struct xlist_head *new, struct xlist_head *tail, struct xlist_head *head)
+static inline void xlist_add(struct xlist_head *new, struct xlist_head *tail,
+                            struct xlist_head *head)
 {
        struct xlist_head *cur;
        struct xlist_head *check;
@@ -30,26 +35,6 @@ static inline void xlist_add(struct xlist_head *new, struct xlist_head *tail, st
        }
 }
 
-/*
- * To avoid duplicate insertion by two CPUs of the same xlist item
- * you can call xlist_protect.  It will stuff XLIST_PTR_TAIL
- * into the entry->next pointer with xchg, and only return 1
- * if there was a NULL there before.
- *
- * if xlist_protect returns zero, someone else is busy working
- * on this entry.  Getting a NULL into the entry in a race
- * free manner is the caller's job.
- */
-static inline int xlist_protect(struct xlist_head *entry)
-{
-       struct xlist_head *val;
-
-       val = xchg(&entry->next, XLIST_PTR_TAIL);
-       if (val == NULL)
-               return 1;
-       return 0;
-}
-
 static inline struct xlist_head *xlist_del_head(struct xlist_head *head)
 {
        struct xlist_head *cur;
@@ -61,11 +46,6 @@ static inline struct xlist_head *xlist_del_head(struct xlist_head *head)
                if (!cur)
                        goto out;
 
-               if (cur == XLIST_PTR_TAIL) {
-                       cur = NULL;
-                       goto out;
-               }
-
                next = cur->next;
                check = cmpxchg(&head->next, cur, next);
                if (check == cur)
@@ -80,7 +60,7 @@ static inline struct xlist_head *xlist_del_head_fast(struct xlist_head *head)
        struct xlist_head *cur;
 
        cur = head->next;
-       if (!cur || cur == XLIST_PTR_TAIL)
+       if (!cur)
                return NULL;
 
        head->next = cur->next;
@@ -97,14 +77,4 @@ static inline void xlist_splice(struct xlist_head *list,
        head->next = cur;
 }
 
-static inline void INIT_XLIST_HEAD(struct xlist_head *list)
-{
-       list->next = NULL;
-}
-
-static inline int xlist_empty(struct xlist_head *head)
-{
-       return head->next == NULL || head->next == XLIST_PTR_TAIL;
-}
-
 #endif