/Linux-v5.4/Documentation/RCU/ |
D | UP.rst | 6 A common misconception is that, on UP systems, the call_rcu() primitive 22 which deletes element B, and then invokes call_rcu() to free element B 25 Now, if call_rcu() were to directly invoke its arguments, then upon return 30 This same problem can occur if call_rcu() is invoked from a hardware 37 by having call_rcu() directly invoke its arguments only if it was called 43 deletes element B from the list, then passes it to call_rcu() for deferred 45 RCU usage, since call_rcu() must wait for a grace period to elapse. 46 Therefore, in this case, allowing call_rcu() to immediately invoke 48 underlying RCU, namely that call_rcu() defers invoking its arguments until 59 Suppose that call_rcu() is invoked while holding a lock, and that the [all …]
|
D | rcubarrier.txt | 30 But the above code cannot be used in IRQ context -- the call_rcu() 38 call_rcu(&p->rcu, p_callback); 40 Since call_rcu() never blocks, this code can safely be used from within 51 Unloading Modules That Use call_rcu() 87 must match the flavor of rcu_barrier() with that of call_rcu(). If your 88 module uses multiple flavors of call_rcu(), then it must also use multiple 90 it uses call_rcu(), call_srcu() on srcu_struct_1, and call_srcu() on 167 RCU callbacks rarely include calls to call_rcu(). However, the rcutorture 183 module invokes call_rcu() from timers, you will need to first cancel all 187 Of course, if you module uses call_rcu(), you will need to invoke [all …]
|
D | checklist.txt | 185 5. If call_rcu() or call_srcu() is used, the callback function will 214 If the updater uses call_rcu() or synchronize_rcu(), 234 8. Although synchronize_rcu() is slower than is call_rcu(), it 238 should be used in preference to call_rcu(). Furthermore, 248 code using call_rcu() should explicitly limit update rate in 252 Ways of gaining this self-limiting property when using call_rcu() 335 CPU that executed the corresponding call_rcu() or call_srcu(). 389 14. The whole point of call_rcu(), synchronize_rcu(), and friends 394 destructive operation, and -only- -then- invoke call_rcu(), 421 same object to call_rcu() (or friends) before an RCU [all …]
|
D | whatisRCU.txt | 126 c. synchronize_rcu() / call_rcu() 132 express synchronize_rcu() in terms of the call_rcu() callback API. 196 The call_rcu() API is a callback form of synchronize_rcu(), 204 However, the call_rcu() API should not be used lightly, as use 209 of denial-of-service attacks. Code using call_rcu() should limit 328 synchronize_rcu() & call_rcu() 332 rcu_read_unlock(), synchronize_rcu(), and call_rcu() invocations in 334 to their callers and (2) call_rcu() callbacks may be invoked. Efficient 340 sychronize_rcu() and call_rcu() primitives used are the same for all three 467 In such cases, one uses call_rcu() rather than synchronize_rcu(). [all …]
|
D | rcuref.txt | 67 call_rcu(&el->head, el_free); remove_element 71 call_rcu(&el->head, el_free); 104 ... call_rcu(&el->head, el_free);
|
/Linux-v5.4/tools/testing/radix-tree/linux/ |
D | radix-tree.h | 16 call_rcu(head, func); in trace_call_rcu() 23 #undef call_rcu 24 #define call_rcu(x, y) trace_call_rcu(x, y) macro
|
/Linux-v5.4/kernel/rcu/ |
D | tiny.c | 43 wait_rcu_gp(call_rcu); in rcu_barrier() 133 void call_rcu(struct rcu_head *head, rcu_callback_t func) in call_rcu() function 151 EXPORT_SYMBOL_GPL(call_rcu);
|
D | update.c | 352 (crcu_array[i] == call_rcu)) { in __wait_rcu_gp() 368 (crcu_array[i] == call_rcu)) in __wait_rcu_gp() 861 call_rcu(&head, test_callback); in early_boot_test_call_rcu()
|
D | sync.c | 47 call_rcu(&rsp->cb_head, rcu_sync_func); in rcu_sync_call()
|
/Linux-v5.4/kernel/bpf/ |
D | devmap.c | 539 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_delete_elem() 557 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_hash_delete_elem() 633 call_rcu(&old_dev->rcu, __dev_map_entry_free); in __dev_map_update_elem() 675 call_rcu(&dev->rcu, __dev_map_entry_free); in __dev_map_hash_update_elem() 686 call_rcu(&old_dev->rcu, __dev_map_entry_free); in __dev_map_hash_update_elem() 742 call_rcu(&dev->rcu, __dev_map_entry_free); in dev_map_hash_remove_netdev() 777 call_rcu(&dev->rcu, in dev_map_notification()
|
/Linux-v5.4/security/keys/ |
D | user_defined.c | 119 call_rcu(&zap->rcu, user_free_payload_rcu); in user_update() 137 call_rcu(&upayload->rcu, user_free_payload_rcu); in user_revoke()
|
D | request_key_auth.c | 141 call_rcu(&rka->rcu, request_key_auth_rcu_disposal); in request_key_auth_revoke() 154 call_rcu(&rka->rcu, request_key_auth_rcu_disposal); in request_key_auth_destroy()
|
/Linux-v5.4/net/openvswitch/ |
D | vport-netdev.c | 163 call_rcu(&vport->rcu, vport_netdev_free); in netdev_destroy() 182 call_rcu(&vport->rcu, vport_netdev_free); in ovs_netdev_tunnel_destroy()
|
D | flow_table.c | 130 call_rcu(&flow->rcu, rcu_free_flow_callback); in ovs_flow_free() 230 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy() 231 call_rcu(&ufid_ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy() 663 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_key_insert() 685 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_ufid_insert()
|
/Linux-v5.4/fs/ecryptfs/ |
D | dentry.c | 71 call_rcu(&p->rcu, ecryptfs_dentry_free_rcu); in ecryptfs_d_release()
|
/Linux-v5.4/tools/memory-model/ |
D | README | 201 For example, call_rcu() and rcu_barrier() are not supported. 215 c. The call_rcu() function is not modeled. It can be 219 the site of the emulated call_rcu() to the beginning 223 emulated in litmus tests emulating call_rcu() via 225 additional call_rcu() process to the site of the
|
/Linux-v5.4/include/linux/ |
D | rcutiny.h | 39 call_rcu(head, func); in kfree_call_rcu()
|
D | rcupdate.h | 38 void call_rcu(struct rcu_head *head, rcu_callback_t func); 146 #define call_rcu_tasks call_rcu
|
/Linux-v5.4/net/ipv4/ |
D | inetpeer.c | 172 call_rcu(&p->rcu, inetpeer_free_rcu); in inet_peer_gc() 243 call_rcu(&p->rcu, inetpeer_free_rcu); in inet_putpeer()
|
D | tcp_fastopen.c | 51 call_rcu(&ctx->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_destroy_cipher() 66 call_rcu(&ctxt->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_ctx_destroy() 106 call_rcu(&octx->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_reset_cipher()
|
/Linux-v5.4/include/linux/netfilter/ |
D | nfnetlink.h | 15 int (*call_rcu)(struct net *net, struct sock *nl, struct sk_buff *skb, member
|
/Linux-v5.4/net/core/ |
D | sock_reuseport.c | 189 call_rcu(&old_reuse->rcu, reuseport_free_rcu); in reuseport_add_sock() 217 call_rcu(&reuse->rcu, reuseport_free_rcu); in reuseport_detach_sock()
|
/Linux-v5.4/drivers/gpu/drm/scheduler/ |
D | sched_fence.c | 114 call_rcu(&fence->finished.rcu, drm_sched_fence_free); in drm_sched_fence_release_scheduled()
|
/Linux-v5.4/tools/testing/radix-tree/ |
D | regression1.c | 76 call_rcu(&p->rcu, page_rcu_free); in page_free()
|
/Linux-v5.4/arch/x86/mm/ |
D | kmmio.c | 517 call_rcu(&dr->rcu, rcu_free_kmmio_fault_pages); in remove_kmmio_fault_pages() 581 call_rcu(&drelease->rcu, remove_kmmio_fault_pages); in unregister_kmmio_probe()
|