summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2025-09-23 12:02:43 +0300
committerPaul E. McKenney <paulmck@kernel.org>2025-09-23 12:02:43 +0300
commitccd0256e697e369fc3cfa57d321074eaeac18dce (patch)
tree9acb8218d61855c67003f54072f8eeb4d6e2ec8d /include/linux
parent0e9e7023df282c7ec41e3f79e803c8feb49fcbe0 (diff)
parent82c427bc935aa5b91d0cabbbc062e71132be2bb8 (diff)
downloadlinux-ccd0256e697e369fc3cfa57d321074eaeac18dce.tar.xz
Merge branch 'rcu.2025.09.23a' into HEAD
RCU miscellaneous updates: * Document that rcu_barrier() hurries lazy callbacks * Remove local_irq_save/restore() in rcu_preempt_deferred_qs_handler() * Move list_for_each_rcu() to where it belongs * Replace use of system_wq with system_percpu_wq * WQ_PERCPU added to alloc_workqueue users * WQ_UNBOUND added to sync_wq workqueue
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/list.h10
-rw-r--r--include/linux/rculist.h10
2 files changed, 10 insertions, 10 deletions
diff --git a/include/linux/list.h b/include/linux/list.h
index e7e28afd28f8..e7bdad9b8618 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -687,16 +687,6 @@ static inline void list_splice_tail_init(struct list_head *list,
for (pos = (head)->next; !list_is_head(pos, (head)); pos = pos->next)
/**
- * list_for_each_rcu - Iterate over a list in an RCU-safe fashion
- * @pos: the &struct list_head to use as a loop cursor.
- * @head: the head for your list.
- */
-#define list_for_each_rcu(pos, head) \
- for (pos = rcu_dereference((head)->next); \
- !list_is_head(pos, (head)); \
- pos = rcu_dereference(pos->next))
-
-/**
* list_for_each_continue - continue iteration over a list
* @pos: the &struct list_head to use as a loop cursor.
* @head: the head for your list.
diff --git a/include/linux/rculist.h b/include/linux/rculist.h
index 1b11926ddd47..2abba7552605 100644
--- a/include/linux/rculist.h
+++ b/include/linux/rculist.h
@@ -43,6 +43,16 @@ static inline void INIT_LIST_HEAD_RCU(struct list_head *list)
#define list_bidir_prev_rcu(list) (*((struct list_head __rcu **)(&(list)->prev)))
/**
+ * list_for_each_rcu - Iterate over a list in an RCU-safe fashion
+ * @pos: the &struct list_head to use as a loop cursor.
+ * @head: the head for your list.
+ */
+#define list_for_each_rcu(pos, head) \
+ for (pos = rcu_dereference((head)->next); \
+ !list_is_head(pos, (head)); \
+ pos = rcu_dereference(pos->next))
+
+/**
* list_tail_rcu - returns the prev pointer of the head of the list
* @head: the head of the list
*