Home
last modified time | relevance | path

Searched refs:call_rcu (Results 1 – 25 of 265) sorted by relevance

1234567891011

/Linux-v6.6/Documentation/RCU/
DUP.rst6 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 …]
Drcubarrier.rst8 RCU updaters sometimes use call_rcu() to initiate an asynchronous wait for
16 call_rcu(&p->rcu, p_callback);
18 Since call_rcu() never blocks, this code can safely be used from within
29 Unloading Modules That Use call_rcu()
71 For example, if it uses call_rcu(), call_srcu() on srcu_struct_1, and
151 RCU callbacks rarely include calls to call_rcu(). However, the rcutorture
172 module invokes call_rcu() from timers, you will need to first refrain
177 Of course, if your module uses call_rcu(), you will need to invoke
180 and on the same srcu_struct structure. If your module uses call_rcu()
232 The rcu_barrier_func() runs on each CPU, where it invokes call_rcu()
[all …]
Dchecklist.rst196 5. If any of call_rcu(), call_srcu(), call_rcu_tasks(),
203 in the case of call_rcu().
228 primitives such as call_rcu().
232 If the updater uses call_rcu() or synchronize_rcu(), then
264 disables BH when updaters use call_rcu() or synchronize_rcu().
266 8. Although synchronize_rcu() is slower than is call_rcu(),
270 synchronize_rcu() should be used in preference to call_rcu().
281 code using call_rcu() should explicitly limit update rate in
285 Ways of gaining this self-limiting property when using call_rcu(),
379 CPU that executed the corresponding call_rcu() or call_srcu().
[all …]
DwhatisRCU.rst149 c. synchronize_rcu() / call_rcu()
155 express synchronize_rcu() in terms of the call_rcu() callback API.
221 The call_rcu() API is an asynchronous callback form of
229 However, the call_rcu() API should not be used lightly, as use
234 of denial-of-service attacks. Code using call_rcu() should limit
365 synchronize_rcu() & call_rcu()
369 rcu_read_unlock(), synchronize_rcu(), and call_rcu() invocations in
371 to their callers and (2) call_rcu() callbacks may be invoked. Efficient
380 synchronize_rcu() and call_rcu() primitives used are the same for all three
514 In such cases, one uses call_rcu() rather than synchronize_rcu().
[all …]
Drcuref.rst73 call_rcu(&el->head, el_free); remove_element
77 call_rcu(&el->head, el_free);
111 ... call_rcu(&el->head, el_free);
/Linux-v6.6/tools/testing/radix-tree/linux/
Dradix-tree.h16 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-v6.6/net/openvswitch/
Dflow_table.c141 call_rcu(&flow->rcu, rcu_free_flow_callback); in ovs_flow_free()
265 call_rcu(&old->rcu, mask_array_rcu_cb); in tbl_mask_array_realloc()
409 call_rcu(&mc->rcu, mask_cache_rcu_cb); in ovs_flow_tbl_masks_cache_resize()
509 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy()
510 call_rcu(&ufid_ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy()
523 call_rcu(&mc->rcu, mask_cache_rcu_cb); in ovs_flow_tbl_destroy()
524 call_rcu(&ma->rcu, mask_array_rcu_cb); in ovs_flow_tbl_destroy()
1056 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_key_insert()
1078 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_ufid_insert()
1185 call_rcu(&ma->rcu, mask_array_rcu_cb); in ovs_flow_masks_rebalance()
Dvport-netdev.c161 call_rcu(&vport->rcu, vport_netdev_free); in netdev_destroy()
180 call_rcu(&vport->rcu, vport_netdev_free); in ovs_netdev_tunnel_destroy()
/Linux-v6.6/include/linux/
Drcupdate.h42 void call_rcu(struct rcu_head *head, rcu_callback_t func);
117 call_rcu(head, func); in call_rcu_hurry()
176 # define call_rcu_tasks call_rcu
223 #define call_rcu_tasks call_rcu
Drcutiny.h104 call_rcu(head, (rcu_callback_t) ((void *) head - ptr)); in __kvfree_call_rcu()
/Linux-v6.6/security/keys/
Duser_defined.c119 call_rcu(&zap->rcu, user_free_payload_rcu); in user_update()
137 call_rcu(&upayload->rcu, user_free_payload_rcu); in user_revoke()
Drequest_key_auth.c140 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-v6.6/kernel/rcu/
Dtiny.c170 void call_rcu(struct rcu_head *head, rcu_callback_t func) in call_rcu() function
199 EXPORT_SYMBOL_GPL(call_rcu);
Dupdate.c419 (crcu_array[i] == call_rcu)) { in __wait_rcu_gp()
436 (crcu_array[i] == call_rcu)) in __wait_rcu_gp()
607 call_rcu(&head, test_callback); in early_boot_test_call_rcu()
/Linux-v6.6/net/mctp/
Dneigh.c81 call_rcu(&neigh->rcu, __mctp_neigh_free); in mctp_neigh_remove_dev()
101 call_rcu(&neigh->rcu, __mctp_neigh_free); in mctp_neigh_remove()
315 call_rcu(&neigh->rcu, __mctp_neigh_free); in mctp_neigh_net_exit()
/Linux-v6.6/drivers/net/wireguard/
Dallowedips.c270 call_rcu(&node->rcu, root_free_rcu); in wg_allowedips_free()
277 call_rcu(&node->rcu, root_free_rcu); in wg_allowedips_free()
333 call_rcu(&node->rcu, node_free_rcu); in wg_allowedips_remove_by_peer()
339 call_rcu(&parent->rcu, node_free_rcu); in wg_allowedips_remove_by_peer()
/Linux-v6.6/kernel/trace/
Drethook.c83 call_rcu(&rh->rcu, rethook_free_rcu); in rethook_free()
150 call_rcu(&node->rcu, free_rethook_node_rcu); in rethook_recycle()
/Linux-v6.6/kernel/bpf/
Ddevmap.c819 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_delete_elem()
839 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_hash_delete_elem()
930 call_rcu(&old_dev->rcu, __dev_map_entry_free); in __dev_map_update_elem()
977 call_rcu(&dev->rcu, __dev_map_entry_free); in __dev_map_hash_update_elem()
988 call_rcu(&old_dev->rcu, __dev_map_entry_free); in __dev_map_hash_update_elem()
1081 call_rcu(&dev->rcu, __dev_map_entry_free); in dev_map_hash_remove_netdev()
1128 call_rcu(&dev->rcu, in dev_map_notification()
/Linux-v6.6/fs/ecryptfs/
Ddentry.c71 call_rcu(&p->rcu, ecryptfs_dentry_free_rcu); in ecryptfs_d_release()
/Linux-v6.6/net/ipv4/
Dinetpeer.c174 call_rcu(&p->rcu, inetpeer_free_rcu); in inet_peer_gc()
248 call_rcu(&p->rcu, inetpeer_free_rcu); in inet_putpeer()
Dtcp_fastopen.c45 call_rcu(&ctx->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_destroy_cipher()
55 call_rcu(&ctxt->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_ctx_destroy()
89 call_rcu(&octx->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_reset_cipher()
/Linux-v6.6/arch/powerpc/mm/
Dpgtable-frag.c130 call_rcu(&ptdesc->pt_rcu_head, pte_free_now); in pte_fragment_free()
/Linux-v6.6/net/core/
Dsock_reuseport.c364 call_rcu(&old_reuse->rcu, reuseport_free_rcu); in reuseport_add_sock()
423 call_rcu(&old_reuse->rcu, reuseport_free_rcu); in reuseport_resurrect()
456 call_rcu(&reuse->rcu, reuseport_free_rcu); in reuseport_detach_sock()
Dgro_cells.c128 call_rcu(&defer->rcu, percpu_free_defer_callback); in gro_cells_destroy()
/Linux-v6.6/tools/testing/radix-tree/
Dregression1.c76 call_rcu(&p->rcu, page_rcu_free); in page_free()

1234567891011