Lines Matching refs:memcg

137 	struct mem_cgroup	*memcg;		/* Back pointer, we cannot */  member
192 struct mem_cgroup *memcg; member
362 return READ_ONCE(objcg->memcg); in obj_cgroup_memcg()
513 struct mem_cgroup *memcg; in get_mem_cgroup_from_objcg() local
517 memcg = obj_cgroup_memcg(objcg); in get_mem_cgroup_from_objcg()
518 if (unlikely(!css_tryget(&memcg->css))) in get_mem_cgroup_from_objcg()
522 return memcg; in get_mem_cgroup_from_objcg()
555 static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg) in mem_cgroup_is_root() argument
557 return (memcg == root_mem_cgroup); in mem_cgroup_is_root()
566 struct mem_cgroup *memcg, in mem_cgroup_protection() argument
608 if (root == memcg) in mem_cgroup_protection()
611 *min = READ_ONCE(memcg->memory.emin); in mem_cgroup_protection()
612 *low = READ_ONCE(memcg->memory.elow); in mem_cgroup_protection()
616 struct mem_cgroup *memcg);
618 static inline bool mem_cgroup_supports_protection(struct mem_cgroup *memcg) in mem_cgroup_supports_protection() argument
624 return !mem_cgroup_disabled() && !mem_cgroup_is_root(memcg); in mem_cgroup_supports_protection()
628 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) in mem_cgroup_below_low() argument
630 if (!mem_cgroup_supports_protection(memcg)) in mem_cgroup_below_low()
633 return READ_ONCE(memcg->memory.elow) >= in mem_cgroup_below_low()
634 page_counter_read(&memcg->memory); in mem_cgroup_below_low()
637 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) in mem_cgroup_below_min() argument
639 if (!mem_cgroup_supports_protection(memcg)) in mem_cgroup_below_min()
642 return READ_ONCE(memcg->memory.emin) >= in mem_cgroup_below_min()
643 page_counter_read(&memcg->memory); in mem_cgroup_below_min()
708 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec() argument
719 if (!memcg) in mem_cgroup_lruvec()
720 memcg = root_mem_cgroup; in mem_cgroup_lruvec()
722 mz = memcg->nodeinfo[pgdat->node_id]; in mem_cgroup_lruvec()
743 struct mem_cgroup *memcg = folio_memcg(folio); in folio_lruvec() local
745 VM_WARN_ON_ONCE_FOLIO(!memcg && !mem_cgroup_disabled(), folio); in folio_lruvec()
746 return mem_cgroup_lruvec(memcg, folio_pgdat(folio)); in folio_lruvec()
793 static inline void mem_cgroup_put(struct mem_cgroup *memcg) in mem_cgroup_put() argument
795 if (memcg) in mem_cgroup_put()
796 css_put(&memcg->css); in mem_cgroup_put()
809 static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg) in mem_cgroup_id() argument
814 return memcg->id.id; in mem_cgroup_id()
819 static inline unsigned long mem_cgroup_ino(struct mem_cgroup *memcg) in mem_cgroup_ino() argument
821 return memcg ? cgroup_ino(memcg->css.cgroup) : 0; in mem_cgroup_ino()
840 return mz->memcg; in lruvec_memcg()
850 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg) in parent_mem_cgroup() argument
852 return mem_cgroup_from_css(memcg->css.parent); in parent_mem_cgroup()
855 static inline bool mem_cgroup_is_descendant(struct mem_cgroup *memcg, in mem_cgroup_is_descendant() argument
858 if (root == memcg) in mem_cgroup_is_descendant()
860 return cgroup_is_descendant(memcg->css.cgroup, root->css.cgroup); in mem_cgroup_is_descendant()
864 struct mem_cgroup *memcg) in mm_match_cgroup() argument
872 match = mem_cgroup_is_descendant(task_memcg, memcg); in mm_match_cgroup()
880 static inline bool mem_cgroup_online(struct mem_cgroup *memcg) in mem_cgroup_online() argument
884 return !!(memcg->css.flags & CSS_ONLINE); in mem_cgroup_online()
902 unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg);
904 unsigned long mem_cgroup_size(struct mem_cgroup *memcg);
906 void mem_cgroup_print_oom_context(struct mem_cgroup *memcg,
909 void mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg);
931 void mem_cgroup_print_oom_group(struct mem_cgroup *memcg);
938 void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val);
941 static inline bool mem_cgroup_trylock_pages(struct mem_cgroup *memcg) in mem_cgroup_trylock_pages() argument
945 if (mem_cgroup_disabled() || !atomic_read(&memcg->moving_account)) in mem_cgroup_trylock_pages()
958 static inline void mod_memcg_state(struct mem_cgroup *memcg, in mod_memcg_state() argument
964 __mod_memcg_state(memcg, idx, val); in mod_memcg_state()
971 struct mem_cgroup *memcg; in mod_memcg_page_state() local
977 memcg = page_memcg(page); in mod_memcg_page_state()
978 if (memcg) in mod_memcg_page_state()
979 mod_memcg_state(memcg, idx, val); in mod_memcg_page_state()
983 unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx);
1050 void __count_memcg_events(struct mem_cgroup *memcg, enum vm_event_item idx,
1053 static inline void count_memcg_events(struct mem_cgroup *memcg, in count_memcg_events() argument
1060 __count_memcg_events(memcg, idx, count); in count_memcg_events()
1067 struct mem_cgroup *memcg = page_memcg(page); in count_memcg_page_event() local
1069 if (memcg) in count_memcg_page_event()
1070 count_memcg_events(memcg, idx, 1); in count_memcg_page_event()
1076 struct mem_cgroup *memcg = folio_memcg(folio); in count_memcg_folio_events() local
1078 if (memcg) in count_memcg_folio_events()
1079 count_memcg_events(memcg, idx, nr); in count_memcg_folio_events()
1085 struct mem_cgroup *memcg; in count_memcg_event_mm() local
1091 memcg = mem_cgroup_from_task(rcu_dereference(mm->owner)); in count_memcg_event_mm()
1092 if (likely(memcg)) in count_memcg_event_mm()
1093 count_memcg_events(memcg, idx, 1); in count_memcg_event_mm()
1097 static inline void memcg_memory_event(struct mem_cgroup *memcg, in memcg_memory_event() argument
1103 atomic_long_inc(&memcg->memory_events_local[event]); in memcg_memory_event()
1105 cgroup_file_notify(&memcg->events_local_file); in memcg_memory_event()
1108 atomic_long_inc(&memcg->memory_events[event]); in memcg_memory_event()
1110 cgroup_file_notify(&memcg->swap_events_file); in memcg_memory_event()
1112 cgroup_file_notify(&memcg->events_file); in memcg_memory_event()
1118 } while ((memcg = parent_mem_cgroup(memcg)) && in memcg_memory_event()
1119 !mem_cgroup_is_root(memcg)); in memcg_memory_event()
1125 struct mem_cgroup *memcg; in memcg_memory_event_mm() local
1131 memcg = mem_cgroup_from_task(rcu_dereference(mm->owner)); in memcg_memory_event_mm()
1132 if (likely(memcg)) in memcg_memory_event_mm()
1133 memcg_memory_event(memcg, event); in memcg_memory_event_mm()
1179 static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg) in mem_cgroup_is_root() argument
1189 static inline void memcg_memory_event(struct mem_cgroup *memcg, in memcg_memory_event() argument
1200 struct mem_cgroup *memcg, in mem_cgroup_protection() argument
1208 struct mem_cgroup *memcg) in mem_cgroup_calculate_protection() argument
1212 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) in mem_cgroup_below_low() argument
1217 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) in mem_cgroup_below_min() argument
1250 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec() argument
1267 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg) in parent_mem_cgroup() argument
1273 struct mem_cgroup *memcg) in mm_match_cgroup() argument
1293 static inline void mem_cgroup_put(struct mem_cgroup *memcg) in mem_cgroup_put() argument
1335 static inline int mem_cgroup_scan_tasks(struct mem_cgroup *memcg, in mem_cgroup_scan_tasks() argument
1341 static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg) in mem_cgroup_id() argument
1354 static inline unsigned long mem_cgroup_ino(struct mem_cgroup *memcg) in mem_cgroup_ino() argument
1375 static inline bool mem_cgroup_online(struct mem_cgroup *memcg) in mem_cgroup_online() argument
1387 static inline unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg) in mem_cgroup_get_max() argument
1392 static inline unsigned long mem_cgroup_size(struct mem_cgroup *memcg) in mem_cgroup_size() argument
1398 mem_cgroup_print_oom_context(struct mem_cgroup *memcg, struct task_struct *p) in mem_cgroup_print_oom_context() argument
1403 mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg) in mem_cgroup_print_oom_meminfo() argument
1423 static inline bool mem_cgroup_trylock_pages(struct mem_cgroup *memcg) in mem_cgroup_trylock_pages() argument
1463 static inline void mem_cgroup_print_oom_group(struct mem_cgroup *memcg) in mem_cgroup_print_oom_group() argument
1467 static inline void __mod_memcg_state(struct mem_cgroup *memcg, in __mod_memcg_state() argument
1473 static inline void mod_memcg_state(struct mem_cgroup *memcg, in mod_memcg_state() argument
1484 static inline unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx) in memcg_page_state() argument
1530 static inline void count_memcg_events(struct mem_cgroup *memcg, in count_memcg_events() argument
1536 static inline void __count_memcg_events(struct mem_cgroup *memcg, in __count_memcg_events() argument
1582 struct mem_cgroup *memcg; in parent_lruvec() local
1584 memcg = lruvec_memcg(lruvec); in parent_lruvec()
1585 if (!memcg) in parent_lruvec()
1587 memcg = parent_mem_cgroup(memcg); in parent_lruvec()
1588 if (!memcg) in parent_lruvec()
1590 return mem_cgroup_lruvec(memcg, lruvec_pgdat(lruvec)); in parent_lruvec()
1694 bool mem_cgroup_charge_skmem(struct mem_cgroup *memcg, unsigned int nr_pages,
1696 void mem_cgroup_uncharge_skmem(struct mem_cgroup *memcg, unsigned int nr_pages);
1702 static inline bool mem_cgroup_under_socket_pressure(struct mem_cgroup *memcg) in mem_cgroup_under_socket_pressure() argument
1704 if (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && memcg->tcpmem_pressure) in mem_cgroup_under_socket_pressure()
1707 if (time_before(jiffies, READ_ONCE(memcg->socket_pressure))) in mem_cgroup_under_socket_pressure()
1709 } while ((memcg = parent_mem_cgroup(memcg))); in mem_cgroup_under_socket_pressure()
1713 int alloc_shrinker_info(struct mem_cgroup *memcg);
1714 void free_shrinker_info(struct mem_cgroup *memcg);
1715 void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id);
1716 void reparent_shrinker_deferred(struct mem_cgroup *memcg);
1721 static inline bool mem_cgroup_under_socket_pressure(struct mem_cgroup *memcg) in mem_cgroup_under_socket_pressure() argument
1726 static inline void set_shrinker_bit(struct mem_cgroup *memcg, in set_shrinker_bit() argument
1768 static inline int memcg_kmem_id(struct mem_cgroup *memcg) in memcg_kmem_id() argument
1770 return memcg ? memcg->kmemcg_id : -1; in memcg_kmem_id()
1779 struct mem_cgroup *memcg; in count_objcg_event() local
1785 memcg = obj_cgroup_memcg(objcg); in count_objcg_event()
1786 count_memcg_events(memcg, idx, 1); in count_objcg_event()
1826 static inline int memcg_kmem_id(struct mem_cgroup *memcg) in memcg_kmem_id() argument