Home
last modified time | relevance | path

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

1234567891011

/linux-6.15/Documentation/RCU/
H A 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
30 This same problem can occur if call_rcu() is invoked from a hardware
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
59 Suppose that call_rcu() is invoked while holding a lock, and that the
61 call_rcu() were to directly invoke the callback, the result would
63 call_rcu() invocation a full grace period later.
69 1. If a number of items need to be passed to call_rcu() within
75 so that delaying the call_rcu() until the lock is released
[all …]
H A 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
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()
243 9 call_rcu(head, rcu_barrier_callback);
[all …]
H A Dchecklist.rst197 5. If any of call_rcu(), call_srcu(), call_rcu_tasks(), or
203 function does this for you in the case of call_rcu().
228 primitives such as call_rcu().
232 If the updater uses call_rcu() or synchronize_rcu(), then
273 8. Although synchronize_rcu() is slower than is call_rcu(),
288 code using call_rcu() should explicitly limit update rate in
460 destructive operation, and *only then* invoke call_rcu(),
487 check that you don't pass the same object to call_rcu()
490 call_rcu() (or friends).
508 to one of call_rcu(), call_srcu(), call_rcu_tasks(), or
[all …]
H A Drcuref.rst73 call_rcu(&el->head, el_free); remove_element
77 call_rcu(&el->head, el_free);
111 ... call_rcu(&el->head, el_free);
H A DwhatisRCU.rst149 c. synchronize_rcu() / call_rcu()
232 The call_rcu() API is an asynchronous callback form of
384 synchronize_rcu() & call_rcu()
534 The call_rcu() API is as follows::
536 void call_rcu(struct rcu_head *head, rcu_callback_t func);
577 call_rcu(&old_fp->rcu, foo_reclaim);
595 The use of call_rcu() permits the caller of foo_update_a() to
604 - Use call_rcu() **after** removing a data element from an
1071 rcu_read_lock_held call_rcu
1079 rcu_read_lock_bh call_rcu rcu_barrier
[all …]
/linux-6.15/tools/testing/shared/linux/
H A 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-6.15/fs/dlm/
H A Dmemory.c110 call_rcu(&r->rcu, __free_rsb_rcu); in dlm_free_rsb()
136 call_rcu(&lkb->rcu, __free_lkb_rcu); in dlm_free_lkb()
/linux-6.15/net/openvswitch/
H A Dflow_table.c141 call_rcu(&flow->rcu, rcu_free_flow_callback); in ovs_flow_free()
262 call_rcu(&old->rcu, mask_array_rcu_cb); in tbl_mask_array_realloc()
406 call_rcu(&mc->rcu, mask_cache_rcu_cb); in ovs_flow_tbl_masks_cache_resize()
506 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy()
507 call_rcu(&ufid_ti->rcu, flow_tbl_destroy_rcu_cb); in table_instance_destroy()
520 call_rcu(&mc->rcu, mask_cache_rcu_cb); in ovs_flow_tbl_destroy()
521 call_rcu(&ma->rcu, mask_array_rcu_cb); in ovs_flow_tbl_destroy()
1053 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_key_insert()
1075 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); in flow_ufid_insert()
1182 call_rcu(&ma->rcu, mask_array_rcu_cb); in ovs_flow_masks_rebalance()
H A Dvport-netdev.c168 call_rcu(&vport->rcu, vport_netdev_free); in netdev_destroy()
187 call_rcu(&vport->rcu, vport_netdev_free); in ovs_netdev_tunnel_destroy()
/linux-6.15/security/keys/
H A 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()
H A 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-6.15/kernel/rcu/
H A Dtiny.c160 void call_rcu(struct rcu_head *head, rcu_callback_t func) in call_rcu() function
186 EXPORT_SYMBOL_GPL(call_rcu);
H A Dupdate.c420 (crcu_array[i] == call_rcu)) { in __wait_rcu_gp()
437 (crcu_array[i] == call_rcu)) in __wait_rcu_gp()
614 call_rcu(&head, test_callback); in early_boot_test_call_rcu()
/linux-6.15/include/linux/
H A Drcupdate.h41 void call_rcu(struct rcu_head *head, rcu_callback_t func);
115 call_rcu(head, func); in call_rcu_hurry()
174 # define call_rcu_tasks call_rcu
221 #define call_rcu_tasks call_rcu
/linux-6.15/drivers/net/wireguard/
H A 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-6.15/net/mctp/
H A 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-6.15/kernel/trace/
H A Drethook.c68 call_rcu(&rh->rcu, rethook_free_rcu); in rethook_free()
150 call_rcu(&node->rcu, free_rethook_node_rcu); in rethook_recycle()
/linux-6.15/kernel/bpf/
H A Ddevmap.c831 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_delete_elem()
851 call_rcu(&old_dev->rcu, __dev_map_entry_free); in dev_map_hash_delete_elem()
942 call_rcu(&old_dev->rcu, __dev_map_entry_free); in __dev_map_update_elem()
989 call_rcu(&dev->rcu, __dev_map_entry_free); in __dev_map_hash_update_elem()
1000 call_rcu(&old_dev->rcu, __dev_map_entry_free); in __dev_map_hash_update_elem()
1095 call_rcu(&dev->rcu, __dev_map_entry_free); in dev_map_hash_remove_netdev()
1142 call_rcu(&dev->rcu, in dev_map_notification()
/linux-6.15/fs/ecryptfs/
H A Ddentry.c81 call_rcu(&p->rcu, ecryptfs_dentry_free_rcu); in ecryptfs_d_release()
/linux-6.15/net/ipv4/
H A 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()
90 call_rcu(&octx->rcu, tcp_fastopen_ctx_free); in tcp_fastopen_reset_cipher()
/linux-6.15/mm/
H A Dmmu_gather.c295 call_rcu(&batch->rcu, tlb_remove_table_rcu); in tlb_remove_table_free()
336 call_rcu(&ptdesc->pt_rcu_head, __tlb_remove_table_one_rcu); in __tlb_remove_table_one()
/linux-6.15/arch/powerpc/mm/
H A Dpgtable-frag.c130 call_rcu(&ptdesc->pt_rcu_head, pte_free_now); in pte_fragment_free()
/linux-6.15/net/core/
H A Dsock_reuseport.c363 call_rcu(&old_reuse->rcu, reuseport_free_rcu); in reuseport_add_sock()
422 call_rcu(&old_reuse->rcu, reuseport_free_rcu); in reuseport_resurrect()
455 call_rcu(&reuse->rcu, reuseport_free_rcu); in reuseport_detach_sock()
H A Dgro_cells.c129 call_rcu(&defer->rcu, percpu_free_defer_callback); in gro_cells_destroy()
/linux-6.15/tools/testing/radix-tree/
H A Dregression1.c76 call_rcu(&p->rcu, page_rcu_free); in page_free()

1234567891011