/linux/mm/ |
A D | memcontrol.c | 537 for (; memcg; memcg = parent_mem_cgroup(memcg)) { in mem_cgroup_update_tree() 700 memcg = pn->memcg; in __mod_memcg_lruvec_state() 1594 .memcg = memcg, in mem_cgroup_out_of_memory() 1787 if (memcg && memcg->under_oom) in memcg_oom_recover() 1886 owait.memcg = memcg; in mem_cgroup_oom_synchronize() 1967 for (; memcg; memcg = parent_mem_cgroup(memcg)) { in mem_cgroup_get_oom_group() 3632 objcg->memcg = memcg; in memcg_online_kmem() 4747 event->memcg = memcg; in memcg_write_event_control() 5072 pn->memcg = memcg; in alloc_mem_cgroup_per_node_info() 6826 if (ug->memcg != memcg) { in uncharge_folio() [all …]
|
A D | vmpressure.c | 77 struct mem_cgroup *memcg = vmpressure_to_memcg(vmpr); in vmpressure_parent() local 79 memcg = parent_mem_cgroup(memcg); in vmpressure_parent() 80 if (!memcg) in vmpressure_parent() 82 return memcg_to_vmpressure(memcg); in vmpressure_parent() 247 vmpr = memcg_to_vmpressure(memcg); in vmpressure() 287 if (!memcg || mem_cgroup_is_root(memcg)) in vmpressure() 311 WRITE_ONCE(memcg->socket_pressure, jiffies + HZ); in vmpressure() 343 vmpressure(gfp, memcg, true, vmpressure_win, 0); in vmpressure_prio() 366 int vmpressure_register_event(struct mem_cgroup *memcg, in vmpressure_register_event() argument 369 struct vmpressure *vmpr = memcg_to_vmpressure(memcg); in vmpressure_register_event() [all …]
|
A D | vmscan.c | 328 } while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL); in expand_shrinker_info() 338 if (shrinker_id >= 0 && memcg && !mem_cgroup_is_root(memcg)) { in set_shrinker_bit() 500 if (sc->memcg && in xchg_nr_deferred() 517 if (sc->memcg && in add_nr_deferred() 520 sc->memcg); in add_nr_deferred() 826 .memcg = memcg, in shrink_slab_memcg() 930 .memcg = memcg, in shrink_slab() 969 } while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL); in drop_slab_node() 3180 } while ((memcg = mem_cgroup_iter(target_memcg, memcg, NULL))); in shrink_node_memcgs() 3930 memcg = mem_cgroup_iter(NULL, memcg, NULL); in age_active_anon() [all …]
|
A D | list_lru.c | 71 struct mem_cgroup *memcg = NULL; in list_lru_from_kmem() local 76 memcg = mem_cgroup_from_obj(ptr); in list_lru_from_kmem() 77 if (!memcg) in list_lru_from_kmem() 80 l = list_lru_from_memcg_idx(nlru, memcg_cache_id(memcg)); in list_lru_from_kmem() 83 *memcg_ptr = memcg; in list_lru_from_kmem() 125 struct mem_cgroup *memcg; in list_lru_add() local 130 l = list_lru_from_kmem(nlru, item, &memcg); in list_lru_add() 134 set_shrinker_bit(memcg, nid, in list_lru_add() 181 int nid, struct mem_cgroup *memcg) in list_lru_count_one() argument 188 l = list_lru_from_memcg_idx(nlru, memcg_cache_id(memcg)); in list_lru_count_one() [all …]
|
A D | workingset.c | 292 struct mem_cgroup *memcg; in workingset_refault() local 352 memcg = folio_memcg(folio); in workingset_refault() 353 lruvec = mem_cgroup_lruvec(memcg, pgdat); in workingset_refault() 370 if (mem_cgroup_get_nr_swap_pages(memcg) > 0) { in workingset_refault() 402 struct mem_cgroup *memcg; in workingset_activation() local 412 memcg = folio_memcg_rcu(folio); in workingset_activation() 413 if (!mem_cgroup_disabled() && !memcg) in workingset_activation() 493 if (sc->memcg) { in count_shadow_nodes() 497 lruvec = mem_cgroup_lruvec(sc->memcg, NODE_DATA(sc->nid)); in count_shadow_nodes()
|
A D | mmap_lock.c | 202 struct mem_cgroup *memcg = get_mem_cgroup_from_mm(mm); in get_mm_memcg_path() local 204 if (memcg == NULL) in get_mm_memcg_path() 206 if (unlikely(memcg->css.cgroup == NULL)) in get_mm_memcg_path() 213 cgroup_path(memcg->css.cgroup, buf, MEMCG_PATH_BUF_SIZE); in get_mm_memcg_path() 216 css_put(&memcg->css); in get_mm_memcg_path()
|
A D | oom_kill.c | 73 return oc->memcg != NULL; in is_memcg_oom() 263 oc->totalpages = mem_cgroup_get_max(oc->memcg) ?: 1; in constrained_alloc() 372 mem_cgroup_scan_tasks(oc->memcg, oom_evaluate_task, oc); in select_bad_process() 432 mem_cgroup_scan_tasks(oc->memcg, dump_task, oc); in dump_tasks() 450 mem_cgroup_print_oom_context(oc->memcg, victim); in dump_oom_summary() 465 mem_cgroup_print_oom_meminfo(oc->memcg); in dump_header() 989 oom_group = mem_cgroup_get_oom_group(victim, oc->memcg); in oom_kill_process()
|
A D | page_io.c | 270 struct mem_cgroup *memcg; in bio_associate_blkg_from_page() local 272 memcg = page_memcg(page); in bio_associate_blkg_from_page() 273 if (!memcg) in bio_associate_blkg_from_page() 277 css = cgroup_e_css(memcg->css.cgroup, &io_cgrp_subsys); in bio_associate_blkg_from_page()
|
A D | backing-dev.c | 447 struct mem_cgroup *memcg; in cgwb_create() local 455 memcg = mem_cgroup_from_css(memcg_css); in cgwb_create() 458 memcg_cgwb_list = &memcg->cgwb_list; in cgwb_create() 711 void wb_memcg_offline(struct mem_cgroup *memcg) in wb_memcg_offline() argument 713 struct list_head *memcg_cgwb_list = &memcg->cgwb_list; in wb_memcg_offline()
|
A D | rmap.c | 767 struct mem_cgroup *memcg; member 837 struct mem_cgroup *memcg = pra->memcg; in invalid_page_referenced_vma() local 839 if (!mm_match_cgroup(vma->vm_mm, memcg)) in invalid_page_referenced_vma() 857 struct mem_cgroup *memcg, in page_referenced() argument 863 .memcg = memcg, in page_referenced() 889 if (memcg) { in page_referenced()
|
/linux/include/linux/ |
A D | memcontrol.h | 654 if (root == memcg) in mem_cgroup_protection() 765 if (!memcg) in mem_cgroup_lruvec() 841 if (memcg) in mem_cgroup_put() 877 return mz->memcg; in lruvec_memcg() 1076 if (memcg) in count_memcg_page_event() 1116 } while ((memcg = parent_mem_cgroup(memcg)) && in memcg_memory_event() 1541 if (!memcg) in parent_lruvec() 1543 memcg = parent_mem_cgroup(memcg); in parent_lruvec() 1544 if (!memcg) in parent_lruvec() 1665 } while ((memcg = parent_mem_cgroup(memcg))); in mem_cgroup_under_socket_pressure() [all …]
|
A D | vmpressure.h | 33 extern void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, bool tree, 35 extern void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio); 39 extern struct vmpressure *memcg_to_vmpressure(struct mem_cgroup *memcg); 41 extern int vmpressure_register_event(struct mem_cgroup *memcg, 44 extern void vmpressure_unregister_event(struct mem_cgroup *memcg, 47 static inline void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, bool tree, in vmpressure() argument 49 static inline void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, in vmpressure_prio() argument
|
A D | list_lru.h | 117 int nid, struct mem_cgroup *memcg); 123 return list_lru_count_one(lru, sc->nid, sc->memcg); in list_lru_shrink_count() 167 int nid, struct mem_cgroup *memcg, 184 int nid, struct mem_cgroup *memcg, 195 return list_lru_walk_one(lru, sc->nid, sc->memcg, isolate, cb_arg, in list_lru_shrink_walk() 203 return list_lru_walk_one_irq(lru, sc->nid, sc->memcg, isolate, cb_arg, in list_lru_shrink_walk_irq()
|
A D | swap.h | 388 extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *memcg, 710 static inline int mem_cgroup_swappiness(struct mem_cgroup *memcg) in mem_cgroup_swappiness() argument 717 if (mem_cgroup_disabled() || mem_cgroup_is_root(memcg)) in mem_cgroup_swappiness() 720 return memcg->swappiness; in mem_cgroup_swappiness() 761 extern long mem_cgroup_get_nr_swap_pages(struct mem_cgroup *memcg); 779 static inline long mem_cgroup_get_nr_swap_pages(struct mem_cgroup *memcg) in mem_cgroup_get_nr_swap_pages() argument
|
A D | rmap.h | 192 struct mem_cgroup *memcg, unsigned long *vm_flags); 287 struct mem_cgroup *memcg, in page_referenced() argument
|
A D | shrinker.h | 33 struct mem_cgroup *memcg; member
|
A D | oom.h | 37 struct mem_cgroup *memcg; member
|
A D | backing-dev.h | 163 void wb_memcg_offline(struct mem_cgroup *memcg); 385 static inline void wb_memcg_offline(struct mem_cgroup *memcg) in wb_memcg_offline() argument
|
/linux/tools/testing/selftests/cgroup/ |
A D | test_memcontrol.c | 161 char *memcg; in test_memcg_current() local 164 if (!memcg) in test_memcg_current() 184 free(memcg); in test_memcg_current() 590 char *memcg; in test_memcg_high() local 594 if (!memcg) in test_memcg_high() 643 if (!memcg) in test_memcg_max() 723 if (!memcg) in test_memcg_swap_max() 783 if (!memcg) in test_memcg_oom_events() 944 if (!memcg) in test_memcg_sock() 1133 if (!memcg) in test_memcg_oom_group_score_events() [all …]
|
/linux/tools/cgroup/ |
A D | memcg_slabinfo.py | 42 memcg = container_of(css, 'struct mem_cgroup', 'css') 43 MEMCGS[css.cgroup.kn.id.value_()] = memcg 171 memcg = MEMCGS[cgroup_id] 187 obj_cgroups.add(memcg.objcg.value_()) 189 memcg.objcg_list.address_of_(), 221 memcg.kmem_caches.address_of_(),
|
/linux/Documentation/admin-guide/cgroup-v1/ |
A D | memcg_test.rst | 9 Because VM is getting complex (one of reasons is memcg...), memcg's behavior 10 is complex. This is a document for memcg's internal behavior. 61 At commit(), the page is associated with the memcg. 114 But brief explanation of the behavior of memcg around shmem will be 136 Each memcg has its own vector of LRUs (inactive anon, active anon, 138 each LRU handled under a single lru_lock for that memcg and node. 145 9.1 Small limit to memcg. 248 Besides management of swap is one of complicated parts of memcg, 275 Out-of-memory caused by memcg's limit will kill tasks under 276 the memcg. When hierarchy is used, a task under hierarchy [all …]
|
A D | memory.rst | 19 see patch's title and function names tend to use "memcg". 47 - pages are linked to per-memcg LRU exclusively, and there is no global LRU. 205 Since page's memcg recorded into swap whatever memsw enabled, the page will 292 lock_page_memcg (memcg->move_lock) 337 different memcg during the page allocation by the cache. 515 Though rmdir() offlines memcg, but the memcg may still stay there due to 600 there is a swap storage available. This might lead to memcg OOM killer 628 This is similar to numa_maps but operates on a per-memcg basis. This is 630 an memcg since the pages are allowed to be allocated from any physical 636 hierarchical children's values in addition to the memcg's own value. [all …]
|
/linux/include/linux/sched/ |
A D | mm.h | 334 set_active_memcg(struct mem_cgroup *memcg) in set_active_memcg() argument 340 this_cpu_write(int_active_memcg, memcg); in set_active_memcg() 343 current->active_memcg = memcg; in set_active_memcg() 350 set_active_memcg(struct mem_cgroup *memcg) in set_active_memcg() argument
|
/linux/Documentation/vm/ |
A D | hwpoison.rst | 136 corrupt-filter-memcg 138 number of the memcg. 148 echo $memcg_ino > /debug/hwpoison/corrupt-filter-memcg
|
/linux/fs/notify/ |
A D | group.c | 27 mem_cgroup_put(group->memcg); in fsnotify_final_destroy_group()
|