函数逻辑报告 |
Source Code:include\linux\list.h |
Create Date:2022-07-27 06:38:25 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:添加链表项
函数原型:static inline void list_add_tail(struct list_head *new, struct list_head *head)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct list_head * | new | |
struct list_head * | head |
93 | 在连续链表中插入记录 |
名称 | 描述 |
---|---|
plist_add | 添加节点到头上 |
plist_requeue | plist_requeue - Requeue @node at end of same-prio entries |
uevent_net_init | |
kobj_kset_join | add the kobject to its kset's list |
add_tail | |
klist_add_before | 当前节点前添加并初始化klist_node |
list_sort_test | |
register_test_dev_kmod | |
kunit_alloc_and_get_resource | |
string_stream_vadd | |
populate_error_injection_list | Lookup and populate the error_injection_list.* For safety reasons we only allow certain functions to be overridden with* bpf_error_injection, so we need to populate the list of the symbols that have* been marked as safe for overriding. |
ddebug_add_module | Allocate a new ddebug_table for the given module* and add it to the global list. |
irq_poll_sched | q_poll_sched - Schedule a run of the iopoll handler*@iop: The parent iopoll structure* Description:* Add this irq_poll structure to the pending poll list and trigger the* raise of the blk iopoll softirq. |
parman_lsort_item_add | |
parman_prio_init | parman_prio_init - initializes a parman priority chunk*@parman: parman instance*@prio: parman prio structure to be initialized*@prority: desired priority of the chunk* Note: all locking must be provided by the caller |
list_test_list_add_tail | |
list_test_list_del | |
list_test_list_replace | |
list_test_list_replace_init | |
list_test_list_swap | |
list_test_list_del_init | |
list_test_list_move | |
list_test_list_move_tail | |
list_test_list_bulk_move_tail | |
list_test_list_is_first | |
list_test_list_is_last | |
list_test_list_empty | |
list_test_list_empty_careful | |
list_test_list_rotate_left | |
list_test_list_rotate_to_front | |
list_test_list_is_singular | |
list_test_list_cut_position | |
list_test_list_cut_before | |
list_test_list_splice | |
list_test_list_splice_tail | |
list_test_list_splice_init | |
list_test_list_splice_tail_init | |
list_test_list_first_entry | |
list_test_list_last_entry | |
list_test_list_first_entry_or_null | |
list_test_list_next_entry | |
list_test_list_prev_entry | |
list_test_list_for_each | |
list_test_list_for_each_prev | |
list_test_list_for_each_safe | |
list_test_list_for_each_prev_safe | |
list_test_list_for_each_entry | |
list_test_list_for_each_entry_reverse | |
save_microcode_patch | |
update_cache | |
domain_add_cpu | domain_add_cpu - Add a cpu to a resource's domain list.* If an existing domain in the resource r's domain list matches the cpu's* resource id, add the cpu in the domain.* Otherwise, a new domain is allocated and inserted into the right position |
rdtgroup_mkdir_mon | Create a monitor group under "mon_groups" directory of a control* and monitor group(ctrl_mon). This is a resource group* to monitor a subset of tasks and cpus in its parent ctrl_mon group. |
__check_limbo | Check the RMIDs that are marked as busy for this domain. If the* reported LLC occupancy is below the threshold clear the busy bit and* decrement the count. If the busy count gets to zero on an RMID, we* free the RMID |
add_rmid_to_limbo | |
free_rmid | |
dom_data_init | |
l3_mon_evt_init | Initialize the event list for the resource.* Note that MBM events are also part of RDT_RESOURCE_L3 resource* because as per the SDM the total and local memory bandwidth* are enumerated as part of L3 monitoring. |
__add_pin_to_irq_node | The common case is 1:1 IRQ<->pin mappings. Sometimes there are* shared ISA-space IRQs, so we have to support them. We are super* fast in the common case, and fast for shared ISA-space IRQs. |
copy_process | 创建进程 |
__send_signal | |
send_sigqueue | |
insert_work | sert_work - insert a work into a pool*@pwq: pwq @work belongs to*@work: work to insert*@head: insertion point*@extra_flags: extra WORK_STRUCT_* flags to set* Insert @work which belongs to @pwq after @head |
worker_attach_to_pool | worker_attach_to_pool() - attach a worker to a pool*@worker: worker to be attached*@pool: the target pool* Attach @worker to @pool. Once attached, the %WORKER_UNBOUND flag and* cpu-binding of @worker are kept coordinated with the pool across |
send_mayday | |
rescuer_thread | scuer_thread - the rescuer thread function*@__rescuer: self* Workqueue rescuer thread function |
flush_workqueue | lush_workqueue - ensure that any scheduled work has run to completion.*@wq: workqueue to flush* This function sleeps until all work items which were queued on entry* have finished execution, but it is not livelocked by new incoming ones. |
workqueue_apply_unbound_cpumask | |
__kthread_create_on_node | |
kthread_insert_work | sert @work before @pos in @worker |
async_schedule_node_domain | async_schedule_node_domain - NUMA specific version of async_schedule_domain*@func: function to execute asynchronously*@data: data pointer to pass to the function*@node: NUMA node that we want to schedule this on or close to*@domain: the domain |
__enqueue_rt_entity | |
__wake_up_common | The core wakeup function |
__prepare_to_swait | |
__mutex_add_waiter | Add @waiter to a given location in the lock wait_list and set the* FLAG_WAITERS flag if it's the first waiter. |
__down_common | Because this function is inlined, the 'state' parameter will be* constant, and thus optimised away by the compiler. Likewise the* 'timeout' parameter for the cases without timeouts. |
rwsem_down_read_slowpath | Wait for the read lock to be granted |
rwsem_down_write_slowpath | Wait until we successfully acquire the write lock |
init_data_structures_once | Initialize the lock_classes[] array elements, the free_lock_classes list* and also the delayed_free structure. |
pm_qos_update_flags | pm_qos_update_flags - Update a set of PM QoS flags |
alloc_rtree_node | alloc_rtree_node - Allocate a new node and add it to the radix tree.* This function is used to allocate inner nodes as well as the* leave nodes of the radix tree. It also adds the node to the* corresponding linked list passed in by the *list parameter. |
create_mem_extents | reate_mem_extents - Create a list of memory extents.*@list: List to put the extents into.*@gfp_mask: Mask to use for memory allocations.* The extents represent contiguous ranges of PFNs. |
memory_bm_create | memory_bm_create - Allocate memory for a memory bitmap. |
__register_nosave_region | gister_nosave_region - Register a region of unsaveable memory.* Register a range of page frames the contents of which should not be saved* during hibernation (to be used in the early initialization code). |
__irq_alloc_domain_generic_chips | __irq_alloc_domain_generic_chip - Allocate generic chips for an irq domain*@d: irq domain for which to allocate chips*@irqs_per_chip: Number of interrupts each chip handles (max 32)*@num_ct: Number of irq_chip_type instances associated with this*@name: |
irq_setup_generic_chip | q_setup_generic_chip - Setup a range of interrupts with a generic chip*@gc: Generic irq chip holding all data*@msk: Bitmask holding the irqs to initialize relative to gc->irq_base*@flags: Flags for initialization*@clr: IRQ_* bits to clear*@set: IRQ_* bits |
rcu_torture_free | Free an element to the rcu_tortures pool. |
rcu_torture_init | |
klp_init_func_early | |
klp_init_object_early | |
klp_init_patch | |
hash_bucket_add | Add an entry to a hash bucket |
dma_debug_create_entries | |
collect_timerqueue | |
css_set_move_task | ss_set_move_task - move a task from one css_set to another*@task: task being moved*@from_cset: css_set @task currently belongs to (may be NULL)*@to_cset: new css_set @task is being moved to (may be NULL)*@use_mg_tasks: move to @to_cset->mg_tasks instead |
link_css_set | link_css_set - a helper function to link a css_set to a cgroup*@tmp_links: cgrp_cset_link objects allocated by allocate_cgrp_cset_links()*@cset: the css_set to be linked*@cgrp: the destination cgroup |
find_css_set | d_css_set - return a new css_set with one cgroup updated*@old_cset: the baseline css_set*@cgrp: the cgroup to be updated* Return a new css_set that's equivalent to @old_cset, but with @cgrp* substituted into the appropriate hierarchy. |
cgroup_migrate_add_task | group_migrate_add_task - add a migration target task to a migration context*@task: target task*@mgctx: target migration context* Add @task, which is a migration target, to @mgctx->tset. This function* becomes noop if @task doesn't need to be migrated |
cgroup_migrate_add_src | group_migrate_add_src - add a migration source css_set*@src_cset: the source css_set to add*@dst_cgrp: the destination cgroup*@mgctx: migration context* Tasks belonging to @src_cset are about to be migrated to @dst_cgrp |
cgroup_migrate_prepare_dst | group_migrate_prepare_dst - prepare destination css_sets for migration*@mgctx: migration context* Tasks are about to be moved and all the source css_sets have been* preloaded to @mgctx->preloaded_src_csets |
cgroup_add_cftypes | group_add_cftypes - add an array of cftypes to a subsystem*@ss: target cgroup subsystem*@cfts: zero-length name terminated array of cftypes* Register @cfts to @ss |
cgroup_init | group_init - cgroup initialization* Register cgroup filesystem and /proc file, and initialize* any subsystems that didn't request early init. |
cgroup_exit | group_exit - detach cgroup from exiting task*@tsk: pointer to task_struct of exiting process* Description: Detach cgroup from @tsk. |
get_cg_rpool_locked | |
rdmacg_register_device | dmacg_register_device - register rdmacg device to rdma controller |
__cpu_stop_queue_work | |
audit_add_rule | Add rule to given filterlist if not a duplicate. |
audit_alloc_name | |
llvm_gcov_init | |
llvm_gcda_emit_function | |
gcov_info_link | gcov_info_link - link/add profiling data set to the list*@info: profiling data set |
gcov_info_dup | gcov_info_dup - duplicate profiling data set*@info: profiling data set to duplicate* Return newly allocated duplicate on success, %NULL on error. |
kprobe_add_ksym_blacklist | |
fei_write | |
tracepoint_module_coming | |
tracing_log_err | racing_log_err - write an error to the tracing error log*@tr: The associated trace array for the error (NULL for top level array)*@loc: A string describing where the error occurred*@cmd: The tracing command that caused the error*@errs: The array of |
register_trace_event | gister_trace_event - register output for an event type*@event: the event type to register* Event types are stored in a hash and this hash is used to* find a way to print an event |
register_stat_tracer | |
hold_module_trace_bprintk_format | |
process_system_preds | |
dyn_event_register | |
trace_probe_append | |
prog_array_map_poke_track | |
xsk_map_sock_add | |
bpf_prog_offload_init | |
bpf_map_offload_map_alloc | |
__cgroup_bpf_attach | __cgroup_bpf_attach() - Attach the program to a cgroup, and* propagate the change to descendants*@cgrp: The cgroup which descendants to traverse*@prog: A program to attach*@type: Type of attach operation*@flags: Option flags |
perf_group_attach | |
perf_group_detach | |
pinned_sched_in | |
flexible_sched_in | |
perf_addr_filter_new | Allocate a new address filter |
inherit_event | Inherit an event from parent task to child task.* Returns:* - valid pointer on success* - NULL for orphaned events* - IS_ERR() on error |
toggle_bp_slot | Add/remove the given breakpoint in our constraint table |
padata_do_parallel | padata_do_parallel - padata parallelization function*@ps: padatashell*@padata: object to be parallelized*@cb_cpu: pointer to the CPU that the serialization callback function should* run on. If it's not in the serial cpumask of @pinst* (i |
padata_reorder | |
lru_add_page_tail | sed by __split_huge_page_refcount() |
register_shrinker_prepared | |
shrink_page_list | shrink_page_list() returns the number of reclaimed pages |
shutdown_cache | |
isolate_freepages_block | Isolate free pages onto a private freelist. If @strict is true, will abort* returning 0 on any invalid PFNs or non-free pages inside of the pageblock* (even though it may still end up isolating some pages). |
list_lru_add | |
check_and_migrate_cma_pages | |
purge_fragmented_blocks | |
free_pcppages_bulk | Frees a number of pages from the PCP lists* Assumes all pages on list are in same zone, and of same order.* count is the number of pages to free.* If the zone was previously in an "all pages pinned" state then look to |
rmqueue_bulk | Obtain a specified number of elements from the buddy allocator, all under* a single hold of the lock, for efficiency. Add them to the supplied list.* Returns the number of new pages which were placed at *list. |
add_swap_count_continuation | add_swap_count_continuation - called when a swap count is duplicated* beyond SWAP_MAP_MAX, it allocates a new page and links that to the entry's* page of the original vmalloc'ed swap_map, to hold the continuation count |
migrate_page_add | |
__ksm_enter | |
cache_grow_end | |
get_valid_first_slab | Try to find non-pfmemalloc slab if needed |
free_block | Caller needs to acquire correct kmem_cache_node's list_lock*@list: List of detached free slabs should be freed by caller |
__add_partial | Management of partially allocated slabs. |
add_page_for_migration | Resolves the given address to a struct page, isolates it from the LRU and* puts it to the given pagelist |
deferred_split_huge_page | |
__khugepaged_enter | |
add_to_kill | Schedule a process for later kill.* Uses GFP_ATOMIC allocations to avoid potential recursions in the VM. |
update_refs | Update an object's references. object->lock must be held by the caller. |
kmemleak_scan | Scan data sections and all the referenced memory blocks allocated via the* kernel's standard allocators. This function must be called with the* scan_mutex held. |
kmemleak_test_init | Some very simple testing. This function needs to be extended for* proper testing. |
ss_add | |
do_msgsnd | |
do_msgrcv | |
unmerge_queues | merge_queues - unmerge queues, if possible.*@sma: semaphore array* The function unmerges the wait queues if complex_count is 0.* It must be called prior to dropping the global semaphore array lock. |
do_semtimedop | |
msg_insert | Auxiliary functions to manipulate messages' list |
mqueue_evict_inode | |
wq_add | Adds current to info->e_wait_q[sr] before element with smaller prio |
elv_register | |
__blk_complete_request | |
blk_mq_add_to_requeue_list | |
__blk_mq_insert_req_list | |
blk_mq_request_bypass_insert | Should only be used carefully, when the caller knows we want to* bypass a potential IO scheduler on the target device. |
blk_mq_flush_plug_list | |
blk_add_rq_to_plug | |
blk_mq_alloc_rqs | |
disk_add_events | |
ldm_ldmdb_add | ldm_ldmdb_add - Adds a raw VBLK entry to the ldmdb database*@data: Raw VBLK to add to the database*@len: Size of the raw VBLK*@ldb: Cache of the database structures* The VBLKs are sorted into categories. Partitions are also sorted by offset.* N |
ldm_frag_add | ldm_frag_add - Add a VBLK fragment to a list*@data: Raw fragment to be added to the list*@size: Size of the raw fragment*@frags: Linked list of VBLK fragments* Fragmented VBLKs may not be consecutive in the database, so they are placed |
blkcg_css_alloc | |
throtl_qnode_add_bio | hrotl_qnode_add_bio - add a bio to a throtl_qnode and activate it*@bio: bio being added*@qn: qnode to add bio to*@queued: the service_queue->queued[] list @qn belongs to* Add @bio to @qn and put @qn on @queued if it's not already on. |
dd_insert_request | add rq to rbtree and fifo |
__bfq_insert_request | rns true if it causes the idle timer to be disabled |
bfq_insert_request | |
add_suspend_info | |
key_garbage_collector | Reaper for unused keys. |
key_init | 内核密钥管理系统初始化 |
keyring_publish_name | Publish the name of a keyring so that it can be found by name (if it has* one and it doesn't begin with a dot). |
tomoyo_write_log2 | moyo_write_log2 - Write an audit log.*@r: Pointer to "struct tomoyo_request_info".*@len: Buffer size needed for @fmt and @args.*@fmt: The printf()'s format string.*@args: va_list structure for @fmt.* Returns nothing. |
tomoyo_supervisor | moyo_supervisor - Ask for the supervisor's decision |
tomoyo_get_name | moyo_get_name - Allocate permanent memory for string data.*@name: The string to store into the permernent memory.* Returns pointer to "struct tomoyo_path_info" on success, NULL otherwise. |
aa_unpack | aa_unpack - unpack packed binary profile(s) data loaded from user space*@udata: user data copied to kmem (NOT NULL)*@lh: list to place unpacked profiles in a aa_repl_ws*@ns: Returns namespace profile is in if specified else NULL (NOT NULL)* Unpack user |
dev_exceptions_copy | alled under devcgroup_mutex |
add_rules | |
ima_parse_add_rule | ma_parse_add_rule - add a rule to ima_policy_rules*@rule - ima measurement policy rule* Avoid locking by allowing just one writer at a time in ima_write_policy()* Returns the length of the rule parsed, an error code on failure |
evm_init_config | |
sget_fc | sget_fc - Find or create a superblock*@fc: Filesystem context |
sget | 查找或创建超级块 |
__register_binfmt | |
__attach_mnt | |
commit_tree | vfsmount lock must be held for write |
vfs_create_mount | vfs_create_mount - Create a mount for a configured superblock*@fc: The configuration context with the superblock attached* Create a mount to an already configured superblock. If necessary, the* caller should invoke vfs_get_tree() before calling this. |
clone_mnt | |
umount_tree | mount_lock must be held* namespace_sem must be held for write |
copy_tree | |
open_detached_copy | |
mnt_set_expiry | mnt_set_expiry - Put a mount on an expiration list*@mnt: The mount to list.*@expiry_list: The list to add the mount to. |
copy_mnt_ns | |
wb_queue_work | |
sb_mark_inode_writeback | mark an inode as under writeback on the sb |
propagate_umount | llect all mounts that receive propagation from the mount in @list,* and return these additional mounts in the same list.*@list: the list of mounts to be unmounted.* vfsmount lock must be held for write |
fsnotify_add_event | Add an event to the group notification queue |
fanotify_read | |
ep_ptable_queue_proc | |
ep_insert | Must be called with "mtx" held. |
ep_modify | Modify the interest event mask by dropping an event if the new mask* has a match in the current file status. Must be called with "mtx" held. |
ep_send_events_proc | |
dup_userfaultfd | |
userfaultfd_unmap_prep | |
kiocb_set_cancel_fn | |
aio_poll | |
io_cqring_fill_event | |
io_iopoll_req_issued | After the iocb has been issued, it's safe to be found on the poll list.* Adding the kiocb to the list AFTER submission ensures that we don't* find it from a io_iopoll_getevents() thread before the issuer is done* accessing the kiocb cookie. |
io_req_defer | |
io_submit_sqe | |
__locks_insert_block | Insert waiter into blocker's block list.* We use a circular list so that processes can be easily woken up in* the order they blocked. The documentation doesn't require this but* it seems like the reasonable thing to do. |
locks_insert_lock_ctx | |
mb_cache_entry_create | mb_cache_entry_create - create entry in cache*@cache - cache where the entry should be created*@mask - gfp mask with which the entry should be allocated*@key - key of the entry*@value - value of the entry*@reusable - is the entry reusable by others? |
put_dquot_last | Add a dquot to the tail of the free list |
put_inuse | |
list_move_tail | 链表项移动到尾部 |
__add_wait_queue_entry_tail | |
add_to_free_area_tail | Used for pages not on another list |
flow_block_cb_add | |
resource_list_add_tail | |
dyn_event_add | |
sk_psock_queue_msg | |
add_page_to_lru_list_tail |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |