/Linux-v4.19/Documentation/RCU/ |
D | UP.txt | 4 A common misconception is that, on UP systems, the call_rcu() primitive 20 which deletes element B, and then invokes call_rcu() to free element B 23 Now, if call_rcu() were to directly invoke its arguments, then upon return 28 This same problem can occur if call_rcu() is invoked from a hardware 35 by having call_rcu() directly invoke its arguments only if it was called 41 deletes element B from the list, then passes it to call_rcu() for deferred 43 RCU usage, since call_rcu() must wait for a grace period to elapse. 44 Therefore, in this case, allowing call_rcu() to immediately invoke 46 underlying RCU, namely that call_rcu() defers invoking its arguments until 55 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() 88 the flavor of rcu_barrier() with that of call_rcu(). If your module 89 uses multiple flavors of call_rcu(), then it must also use multiple 168 RCU callbacks rarely include calls to call_rcu(). However, the rcutorture 184 module invokes call_rcu() from timers, you will need to first cancel all 191 unloading. If your module uses call_rcu(), call_rcu_bh(), -and- 229 The rcu_barrier_func() runs on each CPU, where it invokes call_rcu() [all …]
|
D | checklist.txt | 185 5. If call_rcu(), or a related primitive such as call_rcu_bh(), 215 7. If the updater uses call_rcu() or synchronize_rcu(), then the 237 8. Although synchronize_rcu() is slower than is call_rcu(), it 241 should be used in preference to call_rcu(). Furthermore, 251 code using call_rcu() should explicitly limit update rate in 255 Ways of gaining this self-limiting property when using call_rcu() 288 d. Use call_rcu_bh() rather than call_rcu(), in order to take 346 expedited forms of the three primitives, namely call_rcu(), 366 the corresponding call_rcu(), call_rcu_bh(), or call_rcu_sched(), 417 15. The whole point of call_rcu(), synchronize_rcu(), and friends [all …]
|
D | rcuref.txt | 64 call_rcu(&el->head, el_free); remove_element 68 call_rcu(&el->head, el_free); 100 ... call_rcu(&el->head, el_free);
|
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 315 synchronize_rcu() & call_rcu() 319 rcu_read_unlock(), synchronize_rcu(), and call_rcu() invocations in 321 to their callers and (2) call_rcu() callbacks may be invoked. Efficient 334 call_rcu() rcu_dereference() 455 In such cases, one uses call_rcu() rather than synchronize_rcu(). [all …]
|
/Linux-v4.19/tools/testing/radix-tree/linux/ |
D | radix-tree.h | 17 call_rcu(head, func); in trace_call_rcu() 24 #undef call_rcu 25 #define call_rcu(x, y) trace_call_rcu(x, y) macro
|
/Linux-v4.19/security/keys/ |
D | user_defined.c | 123 call_rcu(&zap->rcu, user_free_payload_rcu); in user_update() 141 call_rcu(&upayload->rcu, user_free_payload_rcu); in user_revoke()
|
/Linux-v4.19/net/openvswitch/ |
D | vport-netdev.c | 177 call_rcu(&vport->rcu, vport_netdev_free); in netdev_destroy() 196 call_rcu(&vport->rcu, vport_netdev_free); in ovs_netdev_tunnel_destroy()
|
D | flow_table.c | 166 call_rcu(&flow->rcu, rcu_free_flow_callback); in ovs_flow_free() 267 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy() 268 call_rcu(&ufid_ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy() 703 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_key_insert() 725 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_ufid_insert()
|
/Linux-v4.19/fs/ecryptfs/ |
D | dentry.c | 85 call_rcu(&p->rcu, ecryptfs_dentry_free_rcu); in ecryptfs_d_release()
|
D | super.c | 95 call_rcu(&inode->i_rcu, ecryptfs_i_callback); in ecryptfs_destroy_inode()
|
/Linux-v4.19/include/linux/ |
D | rcutiny.h | 90 call_rcu(head, func); in kfree_call_rcu()
|
D | rcupdate.h | 53 void call_rcu(struct rcu_head *head, rcu_callback_t func); 55 #define call_rcu call_rcu_sched macro
|
/Linux-v4.19/kernel/rcu/ |
D | update.c | 342 (crcu_array[i] == call_rcu || in __wait_rcu_gp() 359 (crcu_array[i] == call_rcu || in __wait_rcu_gp() 895 call_rcu(&head, test_callback); in early_boot_test_call_rcu()
|
D | rcutorture.c | 407 call_rcu(&p->rtort_rcu, rcu_torture_cb); in rcu_torture_deferred_free() 428 .call = call_rcu, 866 call_rcu(&rbi.rcu, rcu_torture_boost_cb); in rcu_torture_boost() 1921 call_rcu(&rh1, rcu_torture_leak_cb); /* Start grace period. */ in rcu_test_debug_objects() 1923 call_rcu(&rh2, rcu_torture_leak_cb); in rcu_test_debug_objects() 1924 call_rcu(&rh2, rcu_torture_err_cb); /* Duplicate callback. */ in rcu_test_debug_objects()
|
D | sync.c | 42 .call = call_rcu,
|
/Linux-v4.19/net/ipv4/ |
D | inetpeer.c | 172 call_rcu(&p->rcu, inetpeer_free_rcu); in inet_peer_gc() 242 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() 110 call_rcu(&octx->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_reset_cipher()
|
/Linux-v4.19/net/core/ |
D | sock_reuseport.c | 187 call_rcu(&old_reuse->rcu, reuseport_free_rcu); in reuseport_add_sock() 214 call_rcu(&reuse->rcu, reuseport_free_rcu); in reuseport_detach_sock()
|
/Linux-v4.19/kernel/bpf/ |
D | devmap.c | 428 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_delete_elem() 480 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_update_elem() 520 call_rcu(&dev->rcu, in dev_map_notification()
|
/Linux-v4.19/include/linux/netfilter/ |
D | nfnetlink.h | 15 int (*call_rcu)(struct net *net, struct sock *nl, struct sk_buff *skb, member
|
/Linux-v4.19/drivers/gpu/drm/scheduler/ |
D | sched_fence.c | 112 call_rcu(&fence->finished.rcu, drm_sched_fence_free); in drm_sched_fence_release_scheduled()
|
/Linux-v4.19/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()
|
/Linux-v4.19/tools/testing/radix-tree/ |
D | regression1.c | 77 call_rcu(&p->rcu, page_rcu_free); in page_free()
|
/Linux-v4.19/scripts/coccinelle/api/ |
D | atomic_as_refcounter.cocci | 20 identifier fname6 =~ ".*call_rcu.*";
|