对memcg记账
两个入口
核心函数 charge_memcg
charge_memcg(folio, memcg, gfp)
try_charge(memcg, gfp, nr_pages)
page_counter_try_charge(&memcg->memsw, batch, &counter)
page_counter_try_charge(&memcg->memory, batch, &counter)
mem_over_limit = mem_cgroup_from_counter(counter, memory);
memcg_memory_event(mem_over_limit, MEMCG_MAX)
try_to_free_mem_cgroup_pages(mem_over_limit, )
mem_cgroup_oom(mem_over_limit, gfp)
css_get(memcg->css)
commit_charge(folio, memcg)
folio->memcg_data = memcg
mem_cgroup_charge_statistics(memcg, nr_pages)
memcg_check_events(memcg, folio_nid(folio))Last updated