/Linux-v5.15/tools/memory-model/ |
D | linux-kernel.cat | 42 let gp = po ; [Sync-rcu | Sync-srcu] ; po? 47 let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu | 106 * In the definition of rcu-fence below, the po term at the left-hand side 108 * out. They have been moved into the definitions of rcu-link and rb. 111 let rcu-gp = [Sync-rcu] (* Compare with gp *) 113 let rcu-rscsi = rcu-rscs^-1 121 let rcu-link = po? ; hb* ; pb* ; prop ; po 125 * critical sections (joined by rcu-link) induces order like a generalized 131 let rec rcu-order = rcu-gp | srcu-gp | 132 (rcu-gp ; rcu-link ; rcu-rscsi) | [all …]
|
D | linux-kernel.bell | 28 'rcu-lock (*rcu_read_lock*) || 29 'rcu-unlock (*rcu_read_unlock*) || 30 'sync-rcu (*synchronize_rcu*) || 44 let rcu-rscs = let rec 56 flag ~empty Rcu-lock \ domain(rcu-rscs) as unbalanced-rcu-locking 57 flag ~empty Rcu-unlock \ range(rcu-rscs) as unbalanced-rcu-locking 76 flag ~empty rcu-rscs & (po ; [Sync-srcu] ; po) as invalid-sleep
|
/Linux-v5.15/net/batman-adv/ |
D | types.h | 205 struct rcu_head rcu; member 277 struct rcu_head rcu; member 347 struct rcu_head rcu; member 500 struct rcu_head rcu; member 575 struct rcu_head rcu; member 634 struct rcu_head rcu; member 669 struct rcu_head rcu; member 738 struct rcu_head rcu; member 1485 struct rcu_head rcu; member 1513 struct rcu_head rcu; member [all …]
|
/Linux-v5.15/include/net/ |
D | if_inet6.h | 74 struct rcu_head rcu; member 81 struct rcu_head rcu; member 93 struct rcu_head rcu; member 103 struct rcu_head rcu; member 127 struct rcu_head rcu; member 147 struct rcu_head rcu; member 212 struct rcu_head rcu; member
|
D | mctp.h | 126 struct rcu_head rcu; member 182 struct rcu_head rcu; member 215 struct rcu_head rcu; member
|
/Linux-v5.15/include/linux/ |
D | watch_queue.h | 30 struct rcu_head rcu; member 38 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()
|
/Linux-v5.15/lib/ |
D | percpu-refcount.c | 149 static void percpu_ref_call_confirm_rcu(struct rcu_head *rcu) in percpu_ref_call_confirm_rcu() argument 151 struct percpu_ref_data *data = container_of(rcu, in percpu_ref_call_confirm_rcu() 152 struct percpu_ref_data, rcu); in percpu_ref_call_confirm_rcu() 166 static void percpu_ref_switch_to_atomic_rcu(struct rcu_head *rcu) in percpu_ref_switch_to_atomic_rcu() argument 168 struct percpu_ref_data *data = container_of(rcu, in percpu_ref_switch_to_atomic_rcu() 169 struct percpu_ref_data, rcu); in percpu_ref_switch_to_atomic_rcu() 205 percpu_ref_call_confirm_rcu(rcu); in percpu_ref_switch_to_atomic_rcu() 232 call_rcu(&ref->data->rcu, percpu_ref_switch_to_atomic_rcu); in __percpu_ref_switch_to_atomic()
|
D | test_kasan_module.c | 65 struct rcu_head rcu; member 71 struct kasan_rcu_info, rcu); in kasan_rcu_reclaim() 89 call_rcu(&global_rcu_ptr->rcu, kasan_rcu_reclaim); in kasan_rcu_uaf()
|
/Linux-v5.15/tools/testing/radix-tree/ |
D | regression1.c | 50 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-v5.15/net/openvswitch/ |
D | flow_table.c | 127 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() 264 call_rcu(&old->rcu, mask_array_rcu_cb); in tbl_mask_array_realloc() 321 kfree_rcu(mask, rcu); in tbl_mask_array_del_mask() 354 static void mask_cache_rcu_cb(struct rcu_head *rcu) in mask_cache_rcu_cb() argument 356 struct mask_cache *mc = container_of(rcu, struct mask_cache, rcu); in mask_cache_rcu_cb() 408 call_rcu(&mc->rcu, mask_cache_rcu_cb); in ovs_flow_tbl_masks_cache_resize() [all …]
|
D | vport-netdev.c | 136 static void vport_netdev_free(struct rcu_head *rcu) in vport_netdev_free() argument 138 struct vport *vport = container_of(rcu, struct vport, rcu); in vport_netdev_free() 162 call_rcu(&vport->rcu, vport_netdev_free); in netdev_destroy() 181 call_rcu(&vport->rcu, vport_netdev_free); in ovs_netdev_tunnel_destroy()
|
D | flow_table.h | 31 struct rcu_head rcu; member 47 struct rcu_head rcu; member 57 struct rcu_head rcu; member
|
/Linux-v5.15/Documentation/filesystems/ |
D | path-lookup.txt | 36 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-v5.15/drivers/gpu/drm/scheduler/ |
D | sched_fence.c | 93 static void drm_sched_fence_free(struct rcu_head *rcu) in drm_sched_fence_free() argument 95 struct dma_fence *f = container_of(rcu, struct dma_fence, rcu); in drm_sched_fence_free() 114 call_rcu(&fence->finished.rcu, drm_sched_fence_free); in drm_sched_fence_release_scheduled()
|
/Linux-v5.15/drivers/net/wireguard/ |
D | allowedips.c | 48 static void node_free_rcu(struct rcu_head *rcu) in node_free_rcu() argument 50 kmem_cache_free(node_cache, container_of(rcu, struct allowedips_node, rcu)); in node_free_rcu() 53 static void root_free_rcu(struct rcu_head *rcu) in root_free_rcu() argument 56 container_of(rcu, struct allowedips_node, rcu) }; in root_free_rcu() 267 call_rcu(&node->rcu, root_free_rcu); in wg_allowedips_free() 274 call_rcu(&node->rcu, root_free_rcu); in wg_allowedips_free() 330 call_rcu(&node->rcu, node_free_rcu); in wg_allowedips_remove_by_peer() 336 call_rcu(&parent->rcu, node_free_rcu); in wg_allowedips_remove_by_peer()
|
D | ratelimiter.c | 31 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()
|
D | peer.c | 187 static void rcu_release(struct rcu_head *rcu) in rcu_release() argument 189 struct wg_peer *peer = container_of(rcu, struct wg_peer, rcu); in rcu_release() 221 call_rcu(&peer->rcu, rcu_release); in kref_release()
|
/Linux-v5.15/kernel/bpf/ |
D | trampoline.c | 209 kfree_rcu(im, rcu); in __bpf_tramp_image_put_deferred() 213 static void __bpf_tramp_image_put_rcu(struct rcu_head *rcu) in __bpf_tramp_image_put_rcu() argument 217 im = container_of(rcu, struct bpf_tramp_image, rcu); in __bpf_tramp_image_put_rcu() 228 call_rcu_tasks(&im->rcu, __bpf_tramp_image_put_rcu); in __bpf_tramp_image_release() 232 static void __bpf_tramp_image_put_rcu_tasks(struct rcu_head *rcu) in __bpf_tramp_image_put_rcu_tasks() argument 236 im = container_of(rcu, struct bpf_tramp_image, rcu); in __bpf_tramp_image_put_rcu_tasks() 242 call_rcu_tasks(&im->rcu, __bpf_tramp_image_put_rcu); in __bpf_tramp_image_put_rcu_tasks() 278 call_rcu_tasks(&im->rcu, __bpf_tramp_image_put_rcu_tasks); in bpf_tramp_image_put() 290 call_rcu_tasks_trace(&im->rcu, __bpf_tramp_image_put_rcu_tasks); in bpf_tramp_image_put()
|
D | local_storage.c | 177 kfree_rcu(new, rcu); in cgroup_storage_update_elem() 534 static void free_shared_cgroup_storage_rcu(struct rcu_head *rcu) in free_shared_cgroup_storage_rcu() argument 537 container_of(rcu, struct bpf_cgroup_storage, rcu); in free_shared_cgroup_storage_rcu() 543 static void free_percpu_cgroup_storage_rcu(struct rcu_head *rcu) in free_percpu_cgroup_storage_rcu() argument 546 container_of(rcu, struct bpf_cgroup_storage, rcu); in free_percpu_cgroup_storage_rcu() 563 call_rcu(&storage->rcu, free_shared_cgroup_storage_rcu); in bpf_cgroup_storage_free() 565 call_rcu(&storage->rcu, free_percpu_cgroup_storage_rcu); in bpf_cgroup_storage_free()
|
/Linux-v5.15/net/mac802154/ |
D | llsec.h | 32 struct rcu_head rcu; member 44 struct rcu_head rcu; member 50 struct rcu_head rcu; member
|
/Linux-v5.15/security/keys/ |
D | request_key_auth.c | 121 static void request_key_auth_rcu_disposal(struct rcu_head *rcu) in request_key_auth_rcu_disposal() argument 124 container_of(rcu, struct request_key_auth, rcu); in request_key_auth_rcu_disposal() 140 call_rcu(&rka->rcu, request_key_auth_rcu_disposal); in request_key_auth_revoke() 153 call_rcu(&rka->rcu, request_key_auth_rcu_disposal); in request_key_auth_destroy()
|
/Linux-v5.15/Documentation/translations/zh_CN/core-api/ |
D | kernel-api.rst | 353 kernel/rcu/tree.c 355 kernel/rcu/tree_exp.h 357 kernel/rcu/update.c 361 kernel/rcu/srcutree.c 371 kernel/rcu/sync.c
|
/Linux-v5.15/net/mctp/ |
D | neigh.c | 62 static void __mctp_neigh_free(struct rcu_head *rcu) in __mctp_neigh_free() argument 64 struct mctp_neigh *neigh = container_of(rcu, struct mctp_neigh, rcu); in __mctp_neigh_free() 81 call_rcu(&neigh->rcu, __mctp_neigh_free); in mctp_neigh_remove_dev() 100 call_rcu(&neigh->rcu, __mctp_neigh_free); in mctp_neigh_remove() 314 call_rcu(&neigh->rcu, __mctp_neigh_free); in mctp_neigh_net_exit()
|
/Linux-v5.15/fs/xfs/ |
D | xfs_acl.h | 13 extern struct posix_acl *xfs_get_acl(struct inode *inode, int type, bool rcu); 19 static inline struct posix_acl *xfs_get_acl(struct inode *inode, int type, bool rcu) in xfs_get_acl() argument
|
/Linux-v5.15/kernel/ |
D | tracepoint.c | 39 unsigned long rcu; member 52 snapshot->rcu = get_state_synchronize_rcu(); in tp_rcu_get_state() 63 cond_synchronize_rcu(snapshot->rcu); in tp_rcu_cond_sync() 97 struct rcu_head rcu; member 116 kfree(container_of(head, struct tp_probes, rcu)); in srcu_free_old_probes() 153 tp_probes->rcu.next = early_probes; in release_probes() 154 early_probes = &tp_probes->rcu; in release_probes() 164 call_rcu(&tp_probes->rcu, rcu_free_old_probes); in release_probes()
|