diff options
| author | Vlastimil Babka <vbabka@suse.cz> | 2025-03-06 09:46:34 +0100 |
|---|---|---|
| committer | Vlastimil Babka <vbabka@suse.cz> | 2025-03-20 10:33:38 +0100 |
| commit | dea2d9221e83ea02b45a60ab88284cd3bb4bb2a4 (patch) | |
| tree | 0391b6707ca2cd787f5937f285eb715375bda3c1 /include/linux/rcutiny.h | |
| parent | 747e2cf137f44058a093d3226bf83974d9d117e7 (diff) | |
| parent | c9f8f1242a4c3e48adc6c3cf6b31c1ffbaa49943 (diff) | |
| download | lwn-dea2d9221e83ea02b45a60ab88284cd3bb4bb2a4.tar.gz lwn-dea2d9221e83ea02b45a60ab88284cd3bb4bb2a4.zip | |
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/rcutiny.h')
| -rw-r--r-- | include/linux/rcutiny.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/include/linux/rcutiny.h b/include/linux/rcutiny.h index fe42315f667f..f519cd680228 100644 --- a/include/linux/rcutiny.h +++ b/include/linux/rcutiny.h @@ -90,41 +90,6 @@ static inline void synchronize_rcu_expedited(void) synchronize_rcu(); } -/* - * Add one more declaration of kvfree() here. It is - * not so straight forward to just include <linux/mm.h> - * where it is defined due to getting many compile - * errors caused by that include. - */ -extern void kvfree(const void *addr); - -static inline void __kvfree_call_rcu(struct rcu_head *head, void *ptr) -{ - if (head) { - call_rcu(head, (rcu_callback_t) ((void *) head - ptr)); - return; - } - - // kvfree_rcu(one_arg) call. - might_sleep(); - synchronize_rcu(); - kvfree(ptr); -} - -static inline void kvfree_rcu_barrier(void) -{ - rcu_barrier(); -} - -#ifdef CONFIG_KASAN_GENERIC -void kvfree_call_rcu(struct rcu_head *head, void *ptr); -#else -static inline void kvfree_call_rcu(struct rcu_head *head, void *ptr) -{ - __kvfree_call_rcu(head, ptr); -} -#endif - void rcu_qs(void); static inline void rcu_softirq_qs(void) @@ -164,7 +129,6 @@ static inline void rcu_end_inkernel_boot(void) { } static inline bool rcu_inkernel_boot_has_ended(void) { return true; } static inline bool rcu_is_watching(void) { return true; } static inline void rcu_momentary_eqs(void) { } -static inline void kfree_rcu_scheduler_running(void) { } /* Avoid RCU read-side critical sections leaking across. */ static inline void rcu_all_qs(void) { barrier(); } |
