linux/fs/bcachefs/rcu_pending.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_RCU_PENDING_H
#define _LINUX_RCU_PENDING_H

#include <linux/rcupdate.h>

struct rcu_pending;
rcu_pending_process_fn;

struct rcu_pending_pcpu;

struct rcu_pending {};

void rcu_pending_enqueue(struct rcu_pending *pending, struct rcu_head *obj);
struct rcu_head *rcu_pending_dequeue(struct rcu_pending *pending);
struct rcu_head *rcu_pending_dequeue_from_all(struct rcu_pending *pending);

void rcu_pending_exit(struct rcu_pending *pending);
int rcu_pending_init(struct rcu_pending *pending,
		     struct srcu_struct *srcu,
		     rcu_pending_process_fn process);

#endif /* _LINUX_RCU_PENDING_H */