]> Git Repo - linux.git/blob - fs/bcachefs/rcu_pending.h
Linux 6.14-rc3
[linux.git] / fs / bcachefs / rcu_pending.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_RCU_PENDING_H
3 #define _LINUX_RCU_PENDING_H
4
5 #include <linux/rcupdate.h>
6
7 struct rcu_pending;
8 typedef void (*rcu_pending_process_fn)(struct rcu_pending *, struct rcu_head *);
9
10 struct rcu_pending_pcpu;
11
12 struct rcu_pending {
13         struct rcu_pending_pcpu __percpu *p;
14         struct srcu_struct              *srcu;
15         rcu_pending_process_fn          process;
16 };
17
18 void rcu_pending_enqueue(struct rcu_pending *pending, struct rcu_head *obj);
19 struct rcu_head *rcu_pending_dequeue(struct rcu_pending *pending);
20 struct rcu_head *rcu_pending_dequeue_from_all(struct rcu_pending *pending);
21
22 void rcu_pending_exit(struct rcu_pending *pending);
23 int rcu_pending_init(struct rcu_pending *pending,
24                      struct srcu_struct *srcu,
25                      rcu_pending_process_fn process);
26
27 #endif /* _LINUX_RCU_PENDING_H */
This page took 0.030877 seconds and 4 git commands to generate.