Home
last modified time | relevance | path

Searched refs:rcu (Results 1 – 25 of 837) sorted by relevance

12345678910>>...34

/linux/tools/memory-model/
H A Dlinux-kernel.cat64 let gp = po ; [Sync-rcu | Sync-srcu] ; po?
69 let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu |
129 * In the definition of rcu-fence below, the po term at the left-hand side
131 * out. They have been moved into the definitions of rcu-link and rb.
134 let rcu-gp = [Sync-rcu] (* Compare with gp *)
136 let rcu-rscsi = rcu-rscs^-1
144 let rcu-link = po? ; hb* ; pb* ; prop ; po
148 * critical sections (joined by rcu-link) induces order like a generalized
154 let rec rcu-order = rcu-gp | srcu-gp |
155 (rcu-gp ; rcu-link ; rcu-rscsi) |
[all …]
H A Dlinux-kernel.bell29 'rcu-lock (*rcu_read_lock*) ||
30 'rcu-unlock (*rcu_read_unlock*) ||
31 'sync-rcu (*synchronize_rcu*) ||
57 let rcu-rscs = let rec
69 flag ~empty Rcu-lock \ domain(rcu-rscs) as unmatched-rcu-lock
70 flag ~empty Rcu-unlock \ range(rcu-rscs) as unmatched-rcu-unlock
82 flag ~empty rcu-rscs & (po ; [Sync-srcu] ; po) as invalid-sleep
/linux/io_uring/
H A Deventfd.c21 struct rcu_head rcu; member
28 static void io_eventfd_free(struct rcu_head *rcu) in io_eventfd_free() argument
30 struct io_ev_fd *ev_fd = container_of(rcu, struct io_ev_fd, rcu); in io_eventfd_free()
39 call_rcu(&ev_fd->rcu, io_eventfd_free); in io_eventfd_put()
42 static void io_eventfd_do_signal(struct rcu_head *rcu) in io_eventfd_do_signal() argument
44 struct io_ev_fd *ev_fd = container_of(rcu, struct io_ev_fd, rcu); in io_eventfd_do_signal()
60 call_rcu_hurry(&ev_fd->rcu, io_eventfd_do_signal); in __io_eventfd_signal()
83 guard(rcu)(); in io_eventfd_signal() local
H A Dnapi.c18 struct rcu_head rcu; member
52 scoped_guard(rcu) { in __io_napi_add_id()
101 kfree_rcu(e, rcu); in __io_napi_del_id()
120 kfree_rcu(e, rcu); in __io_napi_remove_stale()
220 scoped_guard(rcu) { in io_napi_blocking_busy_loop()
261 kfree_rcu(e, rcu); in io_napi_free()
388 scoped_guard(rcu) { in io_napi_sqpoll_busy_poll()
/linux/kernel/bpf/
H A Dbpf_local_storage.c116 static void __bpf_local_storage_free_trace_rcu(struct rcu_head *rcu) in __bpf_local_storage_free_trace_rcu() argument
123 local_storage = container_of(rcu, struct bpf_local_storage, rcu); in __bpf_local_storage_free_trace_rcu()
127 kfree_rcu(local_storage, rcu); in __bpf_local_storage_free_trace_rcu()
130 static void bpf_local_storage_free_rcu(struct rcu_head *rcu) in bpf_local_storage_free_rcu() argument
134 local_storage = container_of(rcu, struct bpf_local_storage, rcu); in bpf_local_storage_free_rcu()
138 static void bpf_local_storage_free_trace_rcu(struct rcu_head *rcu) in bpf_local_storage_free_trace_rcu() argument
141 bpf_local_storage_free_rcu(rcu); in bpf_local_storage_free_trace_rcu()
143 call_rcu(rcu, bpf_local_storage_free_rcu); in bpf_local_storage_free_trace_rcu()
151 kfree_rcu(local_storage, rcu); in __bpf_local_storage_free()
153 call_rcu_tasks_trace(&local_storage->rcu, in __bpf_local_storage_free()
[all …]
H A Dlocal_storage.c177 kfree_rcu(new, rcu); in cgroup_storage_update_elem()
533 static void free_shared_cgroup_storage_rcu(struct rcu_head *rcu) in free_shared_cgroup_storage_rcu() argument
536 container_of(rcu, struct bpf_cgroup_storage, rcu); in free_shared_cgroup_storage_rcu()
542 static void free_percpu_cgroup_storage_rcu(struct rcu_head *rcu) in free_percpu_cgroup_storage_rcu() argument
545 container_of(rcu, struct bpf_cgroup_storage, rcu); in free_percpu_cgroup_storage_rcu()
562 call_rcu(&storage->rcu, free_shared_cgroup_storage_rcu); in bpf_cgroup_storage_free()
564 call_rcu(&storage->rcu, free_percpu_cgroup_storage_rcu); in bpf_cgroup_storage_free()
/linux/fs/dlm/
H A Dmemory.c100 static void __free_rsb_rcu(struct rcu_head *rcu) in __free_rsb_rcu() argument
102 struct dlm_rsb *r = container_of(rcu, struct dlm_rsb, rcu); in __free_rsb_rcu()
110 call_rcu(&r->rcu, __free_rsb_rcu); in dlm_free_rsb()
118 static void __free_lkb_rcu(struct rcu_head *rcu) in __free_lkb_rcu() argument
120 struct dlm_lkb *lkb = container_of(rcu, struct dlm_lkb, rcu); in __free_lkb_rcu()
136 call_rcu(&lkb->rcu, __free_lkb_rcu); in dlm_free_lkb()
/linux/include/net/
H A Dif_inet6.h80 struct rcu_head rcu; member
87 struct rcu_head rcu; member
99 struct rcu_head rcu; member
109 struct rcu_head rcu; member
133 struct rcu_head rcu; member
153 struct rcu_head rcu; member
219 struct rcu_head rcu; member
/linux/net/batman-adv/
H A Dtypes.h211 struct rcu_head rcu; member
283 struct rcu_head rcu; member
353 struct rcu_head rcu; member
506 struct rcu_head rcu; member
564 struct rcu_head rcu; member
620 struct rcu_head rcu; member
655 struct rcu_head rcu; member
724 struct rcu_head rcu; member
1414 struct rcu_head rcu; member
1442 struct rcu_head rcu; member
[all …]
/linux/include/linux/
H A Dwatch_queue.h30 struct rcu_head rcu; member
39 struct rcu_head rcu; member
56 struct rcu_head rcu; member
73 struct rcu_head rcu; member
115 kfree_rcu(wlist, rcu); in remove_watch_list()
H A Drcupdate.h521 #define unrcu_pointer(p) __unrcu_pointer(p, __UNIQUE_ID(rcu))
549 #define rcu_dereference_raw(p) __rcu_dereference_raw(p, __UNIQUE_ID(rcu))
644 #define rcu_access_pointer(p) __rcu_access_pointer((p), __UNIQUE_ID(rcu), __rcu)
680 __rcu_dereference_check((p), __UNIQUE_ID(rcu), \
696 __rcu_dereference_check((p), __UNIQUE_ID(rcu), \
712 __rcu_dereference_check((p), __UNIQUE_ID(rcu), \
730 __rcu_dereference_check((p), __UNIQUE_ID(rcu), \
742 __rcu_dereference_check((p), __UNIQUE_ID(rcu), 1, __rcu)
761 __rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
1195 DEFINE_LOCK_GUARD_0(rcu,
/linux/rust/kernel/
H A Drevocable.rs10 use crate::{bindings, prelude::*, sync::rcu, types::Opaque};
100 let guard = rcu::read_lock(); in try_access()
118 pub fn try_access_with_guard<'a>(&'a self, _guard: &'a rcu::Guard) -> Option<&'a T> { in try_access_with_guard()
241 _rcu_guard: rcu::Guard,
246 fn new(data_ref: *const T, rcu_guard: rcu::Guard) -> Self { in new()
/linux/lib/
H A Dpercpu-refcount.c150 static void percpu_ref_call_confirm_rcu(struct rcu_head *rcu) in percpu_ref_call_confirm_rcu() argument
152 struct percpu_ref_data *data = container_of(rcu, in percpu_ref_call_confirm_rcu()
153 struct percpu_ref_data, rcu); in percpu_ref_call_confirm_rcu()
167 static void percpu_ref_switch_to_atomic_rcu(struct rcu_head *rcu) in percpu_ref_switch_to_atomic_rcu() argument
169 struct percpu_ref_data *data = container_of(rcu, in percpu_ref_switch_to_atomic_rcu()
170 struct percpu_ref_data, rcu); in percpu_ref_switch_to_atomic_rcu()
206 percpu_ref_call_confirm_rcu(rcu); in percpu_ref_switch_to_atomic_rcu()
233 call_rcu_hurry(&ref->data->rcu, in __percpu_ref_switch_to_atomic()
H A Dbug.c72 guard(rcu)(); in module_find_bug() local
212 bool rcu = false; in report_bug() local
214 rcu = warn_rcu_enter(); in report_bug()
216 warn_rcu_exit(rcu); in report_bug()
234 scoped_guard(rcu) { in generic_bug_clear_once()
/linux/tools/testing/radix-tree/
H A Dregression1.c50 struct rcu_head rcu; member
66 static void page_rcu_free(struct rcu_head *rcu) in page_rcu_free() argument
68 struct page *p = container_of(rcu, struct page, rcu); in page_rcu_free()
76 call_rcu(&p->rcu, page_rcu_free); in page_free()
/linux/net/openvswitch/
H A Dflow_table.c127 static void rcu_free_flow_callback(struct rcu_head *rcu) in rcu_free_flow_callback() argument
129 struct sw_flow *flow = container_of(rcu, struct sw_flow, rcu); in rcu_free_flow_callback()
140 call_rcu(&flow->rcu, rcu_free_flow_callback); in ovs_flow_free()
182 static void mask_array_rcu_cb(struct rcu_head *rcu) in mask_array_rcu_cb() argument
184 struct mask_array *ma = container_of(rcu, struct mask_array, rcu); in mask_array_rcu_cb()
261 call_rcu(&old->rcu, mask_array_rcu_cb); in tbl_mask_array_realloc()
318 kfree_rcu(mask, rcu); in tbl_mask_array_del_mask()
351 static void mask_cache_rcu_cb(struct rcu_head *rcu) in mask_cache_rcu_cb() argument
353 struct mask_cache *mc = container_of(rcu, struct mask_cache, rcu); in mask_cache_rcu_cb()
405 call_rcu(&mc->rcu, mask_cache_rcu_cb); in ovs_flow_tbl_masks_cache_resize()
[all …]
H A Dvport-netdev.c143 static void vport_netdev_free(struct rcu_head *rcu) in vport_netdev_free() argument
145 struct vport *vport = container_of(rcu, struct vport, rcu); in vport_netdev_free()
168 call_rcu(&vport->rcu, vport_netdev_free); in netdev_destroy()
187 call_rcu(&vport->rcu, vport_netdev_free); in ovs_netdev_tunnel_destroy()
/linux/Documentation/filesystems/
H A Dpath-lookup.txt36 even stores into cachelines of common dentries). This is known as "rcu-walk"
203 Inodes are also rcu freed, so the seqcount lookup dentry's inode may also be
212 Path walking code now has two distinct modes, ref-walk and rcu-walk. ref-walk
216 walking is operating on each dentry. rcu-walk uses seqcount based dentry
218 shared data in the dentry or inode. rcu-walk can not be applied to all cases,
219 eg. if the filesystem must sleep or perform non trivial operations, rcu-walk
226 path string, rcu-walk uses a d_seq protected snapshot. When looking up a
246 +---------------------+ rcu-walk begins here, we note d_seq, check the
273 Taking a refcount on a dentry from rcu-walk mode, by taking its d_lock,
275 "dropping rcu" or dropping from rcu-walk into ref-walk mode.
[all …]
/linux/fs/fuse/
H A Dacl.c15 struct inode *inode, int type, bool rcu) in __fuse_get_acl() argument
22 if (rcu) in __fuse_get_acl()
79 struct posix_acl *fuse_get_inode_acl(struct inode *inode, int type, bool rcu) in fuse_get_inode_acl() argument
92 return __fuse_get_acl(fc, inode, type, rcu); in fuse_get_inode_acl()
/linux/drivers/net/wireguard/
H A Dallowedips.c51 static void node_free_rcu(struct rcu_head *rcu) in node_free_rcu() argument
53 kmem_cache_free(node_cache, container_of(rcu, struct allowedips_node, rcu)); in node_free_rcu()
56 static void root_free_rcu(struct rcu_head *rcu) in root_free_rcu() argument
59 container_of(rcu, struct allowedips_node, rcu) }; in root_free_rcu()
274 call_rcu(&node->rcu, node_free_rcu); in remove_node()
280 call_rcu(&parent->rcu, node_free_rcu); in remove_node()
316 call_rcu(&node->rcu, root_free_rcu); in wg_allowedips_free()
323 call_rcu(&node->rcu, root_free_rcu); in wg_allowedips_free()
H A Dratelimiter.c31 struct rcu_head rcu; member
41 static void entry_free(struct rcu_head *rcu) in entry_free() argument
44 container_of(rcu, struct ratelimiter_entry, rcu)); in entry_free()
51 call_rcu(&entry->rcu, entry_free); in entry_uninit()
/linux/net/mac802154/
H A Dllsec.h32 struct rcu_head rcu; member
44 struct rcu_head rcu; member
50 struct rcu_head rcu; member
/linux/kernel/sched/
H A Dext_idle.c954 guard(rcu)(); in scx_bpf_cpu_node() local
983 guard(rcu)(); in scx_bpf_select_cpu_dfl() local
1023 guard(rcu)(); in scx_bpf_select_cpu_and() local
1046 guard(rcu)(); in scx_bpf_get_idle_cpumask_node() local
1070 guard(rcu)(); in scx_bpf_get_idle_cpumask() local
1101 guard(rcu)(); in scx_bpf_get_idle_smtmask_node() local
1129 guard(rcu)(); in scx_bpf_get_idle_smtmask() local
1178 guard(rcu)(); in scx_bpf_test_and_clear_cpu_idle() local
1217 guard(rcu)(); in scx_bpf_pick_idle_cpu_node() local
1257 guard(rcu)(); in scx_bpf_pick_idle_cpu() local
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_dep_scheduler.c35 struct rcu_head rcu; member
102 init_rcu_head(&dep_scheduler->rcu); in xe_dep_scheduler_create()
129 kfree_rcu(dep_scheduler, rcu); in xe_dep_scheduler_fini()
/linux/Documentation/translations/zh_CN/core-api/
H A Dkernel-api.rst360 kernel/rcu/tree.c
362 kernel/rcu/tree_exp.h
364 kernel/rcu/update.c
368 kernel/rcu/srcutree.c
378 kernel/rcu/sync.c

12345678910>>...34