函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\tiny.c Create Date:2022-07-27 11:29:12
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Post an RCU callback to be invoked after the end of an RCU grace* period. But since we have but one CPU, that would be after any* quiescent state.

函数原型:void call_rcu(struct callback_head *head, rcu_callback_t func)

返回类型:void

参数:

类型参数名称
struct callback_head *head
rcu_callback_tfunc
137  debug_rcu_head_queue()/debug_rcu_head_unqueue() are used internally* by call_rcu() and rcu callback execution, and are therefore not part* of the RCU API. These are in rcupdate.h because they are used by all* RCU implementations.
138  func等于func
139  next = NULL
141  local_irq_save(flags)
142  ->next pointer of last CB. 等于head
143  ->next pointer of last CB. 等于next
144  local_irq_restore(flags)
146  如果此条件成立可能性小(为编译器优化)(是空闲任务)则
148  resched_cpu(0)
调用者
名称描述
xa_node_free
__percpu_ref_switch_to_atomic
rhashtable_rehash_table
assoc_array_apply_editassoc_array_apply_edit - Apply an edit script to an associative array*@edit: The script to apply.* Apply an edit script to an associative array to effect an insertion,* deletion or clearance. As the edit script includes preallocated memory,
put_task_struct_rcu_user
queue_rcu_workqueue_rcu_work - queue work after a RCU grace period*@wq: workqueue to use*@rwork: work to queue* Return: %false if @rwork was already pending, %true otherwise
put_unbound_poolput_unbound_pool - put a worker_pool*@pool: worker_pool to put* Put @pool
pwq_unbound_release_workfnScheduled on system_wq by put_pwq() when an unbound pwq hits zero refcnt* and needs to be destroyed.
destroy_workqueuedestroy_workqueue - safely terminate a workqueue*@wq: target workqueue* Safely destroy a workqueue. All work currently pending will be done first.
free_pid
__put_cred__put_cred - Destroy a set of credentials*@cred: The record to release* Destroy a set of credentials on which no references remain.
rq_attach_root
sched_put_rd
destroy_sched_domains
call_rcu_zappedSchedule an RCU callback if no RCU callback is pending. Must be called with* the graph lock held.
rcu_sync_call
rcu_torture_deferred_free
rcu_torture_boost
release_posix_timer
destroy_pid_namespace
auditd_setauditd_set - Set/Reset the auditd connection state*@pid: auditd PID*@portid: auditd netlink portid*@net: auditd network namespace pointer* Description:* This function will obtain and drop network namespace references as* necessary
auditd_resetauditd_reset - Disconnect the auditd connection*@ac: auditd connection state* Description:* Break the auditd/kauditd connection and move all the queued records into the* hold queue in case auditd reconnects
audit_del_ruleRemove an existing rule from filterlist.
update_lsm_rule
audit_update_watchUpdate inode info in audit rules based on filesystem event.
audit_remove_parent_watchesRemove all watches & rules associated with a parent that is going away.
audit_mark_put_chunkDrop reference to the chunk that was held by the mark. This is the reference* that gets dropped after we've removed the chunk from the hash table and we* use it to make sure chunk cannot be freed before RCU grace period expires.
kill_rules
release_early_probes
release_probes
__bpf_prog_put_noref
free_htab_elem
bpf_event_entry_free_rcu
bpf_cgroup_storage_free
btf_put
dev_map_delete_elem
dev_map_hash_delete_elem
__dev_map_update_elem
__dev_map_hash_update_elem
dev_map_hash_remove_netdev
dev_map_notification
__cpu_map_entry_replaceAfter xchg pointer to bpf_cpu_map_entry, use the call_rcu() to* ensure any driver rcu critical sections have completed, but this* does not guarantee a flush has happened yet. Because driver side* rcu_read_lock/unlock only protects the running XDP program
put_ctx
_free_event
ring_buffer_put
release_callchain_buffers
slab_destroyslab_destroy - destroy and release all objects in a slab*@cachep: cache pointer being destroyed*@page: page pointer being destroyed* Destroy all the objs in a slab page, and release the mem back to the system.
free_slab
memcg_expand_one_shrinker_map
put_objectDecrement the object use_count. Once the count is 0, free the object using* an RCU callback. Since put_object() may be called via the kmemleak_free() ->* delete_object() path, the delayed RCU freeing ensures that there is no
newsegwseg - Create a new shared memory segment*@ns: namespace*@params: ptr to the structure that contains key, size and shmflg* Called with shm_ids.rwsem held as a writer.
ioc_destroy_icqRelease an icq. Called with ioc locked for blk-mq, and with both ioc* and queue locked for legacy.
blk_stat_free_callback
blkg_releaseA group is RCU protected, but having an rcu lock does not mean that one* can access all the fields of blkg and assume these are valid
request_key_auth_destroyDestroy an instantiation authorisation token key.
user_updatepdate a user defined key* - the key's semaphore is write-locked
user_revokedispose of the links from a revoked keyring* - called with the key sem write-locked
trusted_updaterusted_update - reseal an existing key with new PCR values
encrypted_updaterypted_update - update the master key description* Change the master key description for an existing encrypted key.* The next read will return an encrypted datablob using the new* master key description.* On success, return 0. Otherwise return errno.
security_inode_free
avc_node_delete
avc_node_replace
aa_label_kref
release_ruleset
__put_superDrop a superblock's refcount. The caller must hold sb_lock.
fasync_remove_entryRemove a fasync entry. If successfully removed, return* positive and clear the FASYNC flag. If no entry exists,* do nothing and return 0.* NOTE! It is very important that the FASYNC flag always* match the state "is the filp on a fasync list".
dentry_free
destroy_inode
expand_fdtableExpand the file descriptor table.* This function will allocate a new fdtable and both fd array and fdset, of* the given size.* Return <0 error code on error; 1 on successful completion.
cleanup_mnt
ep_removeRemoves a "struct epitem" from the eventpoll RB tree and deallocates* all the associated resources. Must be called with "mtx" held.
radix_tree_node_free
fib6_info_release