summaryrefslogtreecommitdiff
path: root/include/linux/srcu.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-08-23 15:38:12 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-08-23 19:34:30 -0400
commitb422b19f636329e1a082bcacd3ac6b485d7a5b3e (patch)
treeee9979640d17b982ed92581557634a6df57b2fc8 /include/linux/srcu.h
parent6f938e0399ce04699682459408b090387c73adb3 (diff)
Update bcachefs sources to 22fa8fc32e6a bcachefs: rcu_pending now works in userspace
Diffstat (limited to 'include/linux/srcu.h')
-rw-r--r--include/linux/srcu.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/srcu.h b/include/linux/srcu.h
index 1c816804..12719eb5 100644
--- a/include/linux/srcu.h
+++ b/include/linux/srcu.h
@@ -1,6 +1,12 @@
#ifndef __TOOLS_LINUX_SRCU_H
#define __TOOLS_LINUX_SRCU_H
+#include <linux/rcupdate.h>
+
+#define NUM_ACTIVE_RCU_POLL_OLDSTATE 2
+
+typedef void (*rcu_callback_t)(struct rcu_head *head);
+
struct srcu_struct {
};
@@ -26,10 +32,35 @@ static inline unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp)
return 0;
}
+#undef poll_state_synchronize_rcu
+static inline bool poll_state_synchronize_rcu(unsigned long cookie)
+{
+ return false;
+}
+
+#undef start_poll_synchronize_rcu
+static inline unsigned long start_poll_synchronize_rcu()
+{
+ return 0;
+}
+
+static inline unsigned long get_state_synchronize_rcu()
+{
+ return 0;
+}
+
static inline void synchronize_srcu_expedited(struct srcu_struct *ssp) {}
+static inline void srcu_barrier(struct srcu_struct *ssp) {}
+
static inline void cleanup_srcu_struct(struct srcu_struct *ssp) {}
+static inline void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp,
+ rcu_callback_t func)
+{
+ func(rhp);
+}
+
static inline int init_srcu_struct(struct srcu_struct *ssp)
{
return 0;