summaryrefslogtreecommitdiff
path: root/include/linux/slab.h
diff options
context:
space:
mode:
authorVlastimil Babka <vbabka@suse.cz>2025-03-06 11:46:34 +0300
committerVlastimil Babka <vbabka@suse.cz>2025-03-20 12:33:38 +0300
commitdea2d9221e83ea02b45a60ab88284cd3bb4bb2a4 (patch)
tree0391b6707ca2cd787f5937f285eb715375bda3c1 /include/linux/slab.h
parent747e2cf137f44058a093d3226bf83974d9d117e7 (diff)
parentc9f8f1242a4c3e48adc6c3cf6b31c1ffbaa49943 (diff)
downloadlinux-dea2d9221e83ea02b45a60ab88284cd3bb4bb2a4.tar.xz
Merge branch 'slab/for-6.15/kfree_rcu_tiny' into slab/for-next
Merge the slab feature branch kfree_rcu_tiny for 6.15: - Move the TINY_RCU kvfree_rcu() implementation from RCU to SLAB subsystem and cleanup its integration.
Diffstat (limited to 'include/linux/slab.h')
-rw-r--r--include/linux/slab.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/slab.h b/include/linux/slab.h
index ab05a143d09a..98e07e9e9e58 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -16,6 +16,7 @@
#include <linux/gfp.h>
#include <linux/overflow.h>
#include <linux/types.h>
+#include <linux/rcupdate.h>
#include <linux/workqueue.h>
#include <linux/percpu-refcount.h>
#include <linux/cleanup.h>
@@ -1080,6 +1081,19 @@ extern void kvfree_sensitive(const void *addr, size_t len);
unsigned int kmem_cache_size(struct kmem_cache *s);
+#ifndef CONFIG_KVFREE_RCU_BATCHED
+static inline void kvfree_rcu_barrier(void)
+{
+ rcu_barrier();
+}
+
+static inline void kfree_rcu_scheduler_running(void) { }
+#else
+void kvfree_rcu_barrier(void);
+
+void kfree_rcu_scheduler_running(void);
+#endif
+
/**
* kmalloc_size_roundup - Report allocation bucket size for the given size
*