函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:mem_cgroup_resize_max

函数原型:static int mem_cgroup_resize_max(struct mem_cgroup *memcg, unsigned long max, bool memsw)

返回类型:int

参数:

类型参数名称
struct mem_cgroup *memcg
unsigned longmax
boolmemsw
2992  bool enlarge = false
2993  bool drained = false
2996  counter等于如果memsw Legacy consumer-oriented counters 否则 Accounted resources
2998  循环
2999  如果signal_pending(当前进程)则
3000  ret等于负EINTR
3001  退出
3004  mutex_lock( & memcg_max_mutex)
3009  limits_invariant等于如果memswmax大于等于max否则max小于等于max
3011  如果非limits_invariant
3013  ret等于负EINVAL
3014  退出
3016  如果max大于maxenlarge = true
3018  ret等于page_counter_set_max - set the maximum number of pages allowed*@counter: counter*@nr_pages: limit to set* Returns 0 on success, -EBUSY if the current number of pages on the* counter already exceeds the specified limit.
3019  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
3021  如果非ret退出
3024  如果非drained
3026  drained = true
3027  继续下一循环
3032  ret等于负EBUSY
3033  退出
3035  当(true)循环
3037  如果非retenlargememcg_oom_recover(memcg)
3040  返回:ret
调用者
名称描述
mem_cgroup_writeThe user of this function is...* RES_LIMIT.