函数逻辑报告

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

函数名称:Wait for a grace period to elapse. But it is illegal to invoke* synchronize_rcu() from within an RCU read-side critical section.* Therefore, any legal call to synchronize_rcu() is a quiescent

函数原型:void synchronize_rcu(void)

返回类型:void

参数:

121  RCU_LOCKDEP_WARN(lock_is_held( & rcu_bh_lock_map) || lock_is_held( & rcu_lock_map) || lock_is_held( & rcu_sched_lock_map), "Illegal synchronize_rcu() in RCU read-side critical section")
调用者
名称描述
crc_t10dif_rehash
sugov_stop
sync_runqueues_membarrier_state
SYSCALL_DEFINE2sys_membarrier - issue memory barriers on a set of threads*@cmd: Takes command values defined in enum membarrier_cmd
psi_trigger_destroy
lockdep_free_key_range_regUsed in module
lockdep_unregister_keyUnregister a dynamically allocated key.
kmsg_dump_unregisterkmsg_dump_unregister - unregister a kmsg dumper.*@dumper: pointer to the kmsg_dumper structure* Removes a dump device from the system. Returns zero on success and* %-EINVAL otherwise.
rcu_test_sync_primsTest each non-SRCU synchronous grace-period wait API. This is* useful just after a change in mode for these primitives, and* during early boot.
rcu_sync_enter_sync_enter() - Force readers onto slowpath*@rsp: Pointer to rcu_sync structure to use for synchronization* This function is used by updaters who need readers to make use of* a slowpath during the update
cond_synchronize_rcud_synchronize_rcu - Conditionally wait for an RCU grace period*@oldstate: return value from earlier call to get_state_synchronize_rcu()* If a full RCU grace period has elapsed since the earlier call to* get_state_synchronize_rcu(), just return
free_moduleFree a module, remove from lists, etc.
do_free_init
do_init_moduleThis is where the real work happens.* Keep it uninlined to provide a reliable breakpoint target, e.g. for the gdb* helper command 'lx-symbols'.
load_moduleAllocate and load the module: note that size of section 0 is alwayszero, and we rely on this for optional sections.
collect_one_slotReturn 1 if all garbages are collected, otherwise 0.
collect_garbage_slots
register_aggr_kprobeThis is the second or subsequent kprobe at the address - handle* the intricacies
register_kprobe
unregister_kprobes
ring_buffer_resizeg_buffer_resize - resize the ring buffer*@buffer: the buffer to resize.*@size: the new size.*@cpu_id: the cpu buffer to resize* Minimum size is 2 * BUF_PAGE_SIZE.* Returns 0 on success and < 0 on failure.
ring_buffer_read_prepare_syncg_buffer_read_prepare_sync - Synchronize a set of prepare calls* All previously invoked ring_buffer_read_prepare calls to prepare* iterators will be synchronized. Afterwards, read_buffer_read_start* calls on those iterators are allowed.
ring_buffer_reset_cpug_buffer_reset_cpu - reset a ring buffer per CPU buffer*@buffer: The ring buffer to reset a per cpu buffer of*@cpu: The CPU buffer to be reset
tracing_reset_cpu
tracing_reset_online_cpus
trace_buffered_event_disablerace_buffered_event_disable - disable buffering events* When a filter is removed, it is faster to not use the buffered* events, and to commit directly into the ring buffer. Free up* the temp buffers when there are no more users. This requires
trace_probe_remove_file
clear_ftrace_pids
ftrace_pid_write
maybe_wait_bpf_programs
htab_map_freeCalled when map->refcnt goes to zero, either from workqueue or from syscall
array_map_freeCalled when map->refcnt goes to zero, either from workqueue or from syscall
fd_array_map_free
trie_free
queue_stack_map_freeCalled when map->refcnt goes to zero, either from workqueue or from syscall
dev_map_free
cpu_map_free
stack_map_freeCalled when map->refcnt goes to zero, either from workqueue or from syscall
reuseport_array_free
perf_pmu_unregister
account_event
perf_pmu_migrate_context
__padata_stop
padata_replace
SYSCALL_DEFINE1
__zswap_pool_release
setup_kmem_cache_node
__mem_cgroup_usage_register_event
__mem_cgroup_usage_unregister_event
mem_cgroup_move_charge
smk_list_swap_rcusmk_list_swap_rcu - swap public list with a private one in RCU-safe way* The caller must hold appropriate mutex to prevent concurrent modifications* to the public list
ima_lsm_update_rule
unregister_filesystemregister_filesystem - unregister a file system*@fs: filesystem to unregister* Remove a file system that was previously successfully registered* with the kernel
kern_unmount
ep_destroy_wakeup_sourceare code path, only used when EPOLL_CTL_MOD removes a wakeup source