Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbf4d7e3 authored by Andy Grover's avatar Andy Grover
Browse files

RDS: Remove unused XLIST_PTR_TAIL and xlist_protect()



Not used.

Signed-off-by: default avatarAndy Grover <andy.grover@oracle.com>
parent c9455d99
Loading
Loading
Loading
Loading
+12 −42
Original line number Original line Diff line number Diff line
@@ -10,13 +10,18 @@ struct xlist_head {
	struct xlist_head *next;
	struct xlist_head *next;
};
};


/*
static inline void INIT_XLIST_HEAD(struct xlist_head *list)
 * XLIST_PTR_TAIL can be used to prevent double insertion.  See
{
 * xlist_protect()
	list->next = NULL;
 */
}
#define XLIST_PTR_TAIL ((struct xlist_head *)0x1)


static inline void xlist_add(struct xlist_head *new, struct xlist_head *tail, struct xlist_head *head)
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)
{
{
	struct xlist_head *cur;
	struct xlist_head *cur;
	struct xlist_head *check;
	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)
static inline struct xlist_head *xlist_del_head(struct xlist_head *head)
{
{
	struct xlist_head *cur;
	struct xlist_head *cur;
@@ -61,11 +46,6 @@ static inline struct xlist_head *xlist_del_head(struct xlist_head *head)
		if (!cur)
		if (!cur)
			goto out;
			goto out;


		if (cur == XLIST_PTR_TAIL) {
			cur = NULL;
			goto out;
		}

		next = cur->next;
		next = cur->next;
		check = cmpxchg(&head->next, cur, next);
		check = cmpxchg(&head->next, cur, next);
		if (check == cur)
		if (check == cur)
@@ -80,7 +60,7 @@ static inline struct xlist_head *xlist_del_head_fast(struct xlist_head *head)
	struct xlist_head *cur;
	struct xlist_head *cur;


	cur = head->next;
	cur = head->next;
	if (!cur || cur == XLIST_PTR_TAIL)
	if (!cur)
		return NULL;
		return NULL;


	head->next = cur->next;
	head->next = cur->next;
@@ -97,14 +77,4 @@ static inline void xlist_splice(struct xlist_head *list,
	head->next = cur;
	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
#endif