函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__mod_memcg_state - update cgroup memory statistics*@memcg: the memory cgroup*@idx: the stat item - can be enum memcg_stat_item or enum node_stat_item*@val: delta to add to the counter, can be negative

函数原型:void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val)

返回类型:void

参数:

类型参数名称
struct mem_cgroup *memcg
intidx
intval
686  如果mem_cgroup_disabled()则返回
689  x等于valOperations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(stat[idx])
690  如果此条件成立可能性小(为编译器优化)(abs - return absolute value of an argument*@x: the value. If it is unsigned type, it is converted to signed type first.* char is treated as if it was signed (regardless of whether it really is)* but the macro's return type is preserved as char.(x) > size of first charge trial. "32" comes from vmscan.c's magic value.* TODO: maybe necessary to use big numbers in big irons.)则
697  __this_cpu_add(stat[idx], x)
698 mi循环atomic_long_add(x, & vmstats[idx])
700  x等于0
702  __this_cpu_write(stat[idx], x)
调用者
名称描述
__mod_lruvec_state__mod_lruvec_state - update lruvec memory statistics*@lruvec: the lruvec*@idx: the stat item*@val: delta to add to the counter, can be negative* The lruvec is the intersection of the NUMA node and a cgroup
mem_cgroup_charge_statistics
mem_cgroup_split_huge_fixupBecause tail pages are not marked as "used", set it. We're under* pgdat->lru_lock and migration entries setup in all page mappings.
uncharge_batch
mod_memcg_statedx can be of type enum memcg_stat_item or node_stat_item
__mod_memcg_page_statemod_memcg_page_state - update page state statistics*@page: the page*@idx: page state item to account*@val: number of pages (positive or negative)* The @page must be locked or the caller must use lock_page_memcg()* to prevent double accounting when the
__inc_memcg_statedx can be of type enum memcg_stat_item or node_stat_item
__dec_memcg_statedx can be of type enum memcg_stat_item or node_stat_item