Lines Matching refs:memcg

153 	struct mem_cgroup	*memcg;		/* Back pointer, we cannot */  member
223 struct mem_cgroup *memcg; member
383 return READ_ONCE(objcg->memcg); in obj_cgroup_memcg()
596 static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg) in mem_cgroup_is_root() argument
598 return (memcg == root_mem_cgroup); in mem_cgroup_is_root()
607 struct mem_cgroup *memcg, in mem_cgroup_protection() argument
649 if (root == memcg) in mem_cgroup_protection()
652 *min = READ_ONCE(memcg->memory.emin); in mem_cgroup_protection()
653 *low = READ_ONCE(memcg->memory.elow); in mem_cgroup_protection()
657 struct mem_cgroup *memcg);
659 static inline bool mem_cgroup_supports_protection(struct mem_cgroup *memcg) in mem_cgroup_supports_protection() argument
665 return !mem_cgroup_disabled() && !mem_cgroup_is_root(memcg); in mem_cgroup_supports_protection()
669 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) in mem_cgroup_below_low() argument
671 if (!mem_cgroup_supports_protection(memcg)) in mem_cgroup_below_low()
674 return READ_ONCE(memcg->memory.elow) >= in mem_cgroup_below_low()
675 page_counter_read(&memcg->memory); in mem_cgroup_below_low()
678 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) in mem_cgroup_below_min() argument
680 if (!mem_cgroup_supports_protection(memcg)) in mem_cgroup_below_min()
683 return READ_ONCE(memcg->memory.emin) >= in mem_cgroup_below_min()
684 page_counter_read(&memcg->memory); in mem_cgroup_below_min()
728 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec() argument
739 if (!memcg) in mem_cgroup_lruvec()
740 memcg = root_mem_cgroup; in mem_cgroup_lruvec()
742 mz = memcg->nodeinfo[pgdat->node_id]; in mem_cgroup_lruvec()
764 struct mem_cgroup *memcg = page_memcg(page); in mem_cgroup_page_lruvec() local
766 VM_WARN_ON_ONCE_PAGE(!memcg && !mem_cgroup_disabled(), page); in mem_cgroup_page_lruvec()
767 return mem_cgroup_lruvec(memcg, pgdat); in mem_cgroup_page_lruvec()
813 static inline void mem_cgroup_put(struct mem_cgroup *memcg) in mem_cgroup_put() argument
815 if (memcg) in mem_cgroup_put()
816 css_put(&memcg->css); in mem_cgroup_put()
829 static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg) in mem_cgroup_id() argument
834 return memcg->id.id; in mem_cgroup_id()
851 return mz->memcg; in lruvec_memcg()
861 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg) in parent_mem_cgroup() argument
863 if (!memcg->memory.parent) in parent_mem_cgroup()
865 return mem_cgroup_from_counter(memcg->memory.parent, memory); in parent_mem_cgroup()
868 static inline bool mem_cgroup_is_descendant(struct mem_cgroup *memcg, in mem_cgroup_is_descendant() argument
871 if (root == memcg) in mem_cgroup_is_descendant()
873 return cgroup_is_descendant(memcg->css.cgroup, root->css.cgroup); in mem_cgroup_is_descendant()
877 struct mem_cgroup *memcg) in mm_match_cgroup() argument
885 match = mem_cgroup_is_descendant(task_memcg, memcg); in mm_match_cgroup()
893 static inline bool mem_cgroup_online(struct mem_cgroup *memcg) in mem_cgroup_online() argument
897 return !!(memcg->css.flags & CSS_ONLINE); in mem_cgroup_online()
915 unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg);
917 unsigned long mem_cgroup_size(struct mem_cgroup *memcg);
919 void mem_cgroup_print_oom_context(struct mem_cgroup *memcg,
922 void mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg);
944 void mem_cgroup_print_oom_group(struct mem_cgroup *memcg);
953 void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val);
956 static inline void mod_memcg_state(struct mem_cgroup *memcg, in mod_memcg_state() argument
962 __mod_memcg_state(memcg, idx, val); in mod_memcg_state()
966 static inline unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx) in memcg_page_state() argument
968 return READ_ONCE(memcg->vmstats.state[idx]); in memcg_page_state()
1029 void __count_memcg_events(struct mem_cgroup *memcg, enum vm_event_item idx,
1032 static inline void count_memcg_events(struct mem_cgroup *memcg, in count_memcg_events() argument
1039 __count_memcg_events(memcg, idx, count); in count_memcg_events()
1046 struct mem_cgroup *memcg = page_memcg(page); in count_memcg_page_event() local
1048 if (memcg) in count_memcg_page_event()
1049 count_memcg_events(memcg, idx, 1); in count_memcg_page_event()
1055 struct mem_cgroup *memcg; in count_memcg_event_mm() local
1061 memcg = mem_cgroup_from_task(rcu_dereference(mm->owner)); in count_memcg_event_mm()
1062 if (likely(memcg)) in count_memcg_event_mm()
1063 count_memcg_events(memcg, idx, 1); in count_memcg_event_mm()
1067 static inline void memcg_memory_event(struct mem_cgroup *memcg, in memcg_memory_event() argument
1073 atomic_long_inc(&memcg->memory_events_local[event]); in memcg_memory_event()
1075 cgroup_file_notify(&memcg->events_local_file); in memcg_memory_event()
1078 atomic_long_inc(&memcg->memory_events[event]); in memcg_memory_event()
1080 cgroup_file_notify(&memcg->swap_events_file); in memcg_memory_event()
1082 cgroup_file_notify(&memcg->events_file); in memcg_memory_event()
1088 } while ((memcg = parent_mem_cgroup(memcg)) && in memcg_memory_event()
1089 !mem_cgroup_is_root(memcg)); in memcg_memory_event()
1095 struct mem_cgroup *memcg; in memcg_memory_event_mm() local
1101 memcg = mem_cgroup_from_task(rcu_dereference(mm->owner)); in memcg_memory_event_mm()
1102 if (likely(memcg)) in memcg_memory_event_mm()
1103 memcg_memory_event(memcg, event); in memcg_memory_event_mm()
1139 static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg) in mem_cgroup_is_root() argument
1149 static inline void memcg_memory_event(struct mem_cgroup *memcg, in memcg_memory_event() argument
1160 struct mem_cgroup *memcg, in mem_cgroup_protection() argument
1168 struct mem_cgroup *memcg) in mem_cgroup_calculate_protection() argument
1172 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) in mem_cgroup_below_low() argument
1177 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) in mem_cgroup_below_min() argument
1210 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec() argument
1227 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg) in parent_mem_cgroup() argument
1233 struct mem_cgroup *memcg) in mm_match_cgroup() argument
1249 static inline void mem_cgroup_put(struct mem_cgroup *memcg) in mem_cgroup_put() argument
1291 static inline int mem_cgroup_scan_tasks(struct mem_cgroup *memcg, in mem_cgroup_scan_tasks() argument
1297 static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg) in mem_cgroup_id() argument
1319 static inline bool mem_cgroup_online(struct mem_cgroup *memcg) in mem_cgroup_online() argument
1331 static inline unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg) in mem_cgroup_get_max() argument
1336 static inline unsigned long mem_cgroup_size(struct mem_cgroup *memcg) in mem_cgroup_size() argument
1342 mem_cgroup_print_oom_context(struct mem_cgroup *memcg, struct task_struct *p) in mem_cgroup_print_oom_context() argument
1347 mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg) in mem_cgroup_print_oom_meminfo() argument
1387 static inline void mem_cgroup_print_oom_group(struct mem_cgroup *memcg) in mem_cgroup_print_oom_group() argument
1391 static inline void __mod_memcg_state(struct mem_cgroup *memcg, in __mod_memcg_state() argument
1397 static inline void mod_memcg_state(struct mem_cgroup *memcg, in mod_memcg_state() argument
1403 static inline unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx) in memcg_page_state() argument
1445 static inline void count_memcg_events(struct mem_cgroup *memcg, in count_memcg_events() argument
1451 static inline void __count_memcg_events(struct mem_cgroup *memcg, in __count_memcg_events() argument
1492 struct mem_cgroup *memcg; in parent_lruvec() local
1494 memcg = lruvec_memcg(lruvec); in parent_lruvec()
1495 if (!memcg) in parent_lruvec()
1497 memcg = parent_mem_cgroup(memcg); in parent_lruvec()
1498 if (!memcg) in parent_lruvec()
1500 return mem_cgroup_lruvec(memcg, lruvec_pgdat(lruvec)); in parent_lruvec()
1603 bool mem_cgroup_charge_skmem(struct mem_cgroup *memcg, unsigned int nr_pages,
1605 void mem_cgroup_uncharge_skmem(struct mem_cgroup *memcg, unsigned int nr_pages);
1611 static inline bool mem_cgroup_under_socket_pressure(struct mem_cgroup *memcg) in mem_cgroup_under_socket_pressure() argument
1613 if (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && memcg->tcpmem_pressure) in mem_cgroup_under_socket_pressure()
1616 if (time_before(jiffies, memcg->socket_pressure)) in mem_cgroup_under_socket_pressure()
1618 } while ((memcg = parent_mem_cgroup(memcg))); in mem_cgroup_under_socket_pressure()
1622 int alloc_shrinker_info(struct mem_cgroup *memcg);
1623 void free_shrinker_info(struct mem_cgroup *memcg);
1624 void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id);
1625 void reparent_shrinker_deferred(struct mem_cgroup *memcg);
1630 static inline bool mem_cgroup_under_socket_pressure(struct mem_cgroup *memcg) in mem_cgroup_under_socket_pressure() argument
1635 static inline void set_shrinker_bit(struct mem_cgroup *memcg, in set_shrinker_bit() argument
1688 static inline int memcg_cache_id(struct mem_cgroup *memcg) in memcg_cache_id() argument
1690 return memcg ? memcg->kmemcg_id : -1; in memcg_cache_id()
1729 static inline int memcg_cache_id(struct mem_cgroup *memcg) in memcg_cache_id() argument