函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:memory_max_write

函数原型:static ssize_t memory_max_write(struct kernfs_open_file *of, char *buf, size_t nbytes, loff_t off)

返回类型:ssize_t

参数:

类型参数名称
struct kernfs_open_file *of
char *buf
size_tnbytes
loff_toff
5986  memcg等于mem_cgroup_from_css(of_css(of))
5987  nr_reclaims等于MEM_CGROUP_RECLAIM_RETRIES
5988  bool drained = false
5992  buf等于strstrip(buf)
5993  err等于page_counter_memparse - memparse() for page counter limits*@buf: string to parse*@max: string meaning maximum possible value*@nr_pages: returns the result in number of pages* Returns -EINVAL, or 0 and @nr_pages on success. @nr_pages will be
5994  如果err则返回:err
5997  xchg( & max, max)
5999  循环
6000  nr_pages等于page_counter_read( & Accounted resources )
6002  如果nr_pages小于等于max退出
6005  如果signal_pending(当前进程)则退出
6008  如果非drained
6010  drained = true
6011  继续下一循环
6014  如果nr_reclaims
6018  继续下一循环
6021  memcg_memory_event(memcg, MEMCG_OOM)
6022  如果非mem_cgroup_out_of_memory(memcg, GFP_KERNEL, 0)则退出
6026  memcg_wb_domain_size_changed(memcg)
6027  返回:nbytes