Lines Matching refs:mem_cgroup
81 struct mem_cgroup *root_mem_cgroup __read_mostly;
84 DEFINE_PER_CPU(struct mem_cgroup *, int_active_memcg);
139 struct mem_cgroup *memcg;
153 int (*register_event)(struct mem_cgroup *memcg,
160 void (*unregister_event)(struct mem_cgroup *memcg,
172 static void mem_cgroup_threshold(struct mem_cgroup *memcg);
173 static void mem_cgroup_oom_notify(struct mem_cgroup *memcg);
187 struct mem_cgroup *from;
188 struct mem_cgroup *to;
241 struct vmpressure *memcg_to_vmpressure(struct mem_cgroup *memcg)
248 struct mem_cgroup *vmpressure_to_memcg(struct vmpressure *vmpr)
250 return container_of(vmpr, struct mem_cgroup, vmpressure);
325 static void memcg_reparent_objcgs(struct mem_cgroup *memcg,
326 struct mem_cgroup *parent)
373 struct mem_cgroup *memcg = folio_memcg(folio);
396 struct mem_cgroup *memcg;
469 static unsigned long soft_limit_excess(struct mem_cgroup *memcg)
489 static void mem_cgroup_update_tree(struct mem_cgroup *memcg, int nid)
532 static void mem_cgroup_remove_from_trees(struct mem_cgroup *memcg)
628 static inline void memcg_rstat_updated(struct mem_cgroup *memcg, int val)
763 unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx)
779 void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val)
789 static unsigned long memcg_page_state_local(struct mem_cgroup *memcg, int idx)
804 struct mem_cgroup *memcg;
870 struct mem_cgroup *memcg;
899 struct mem_cgroup *memcg;
926 void __count_memcg_events(struct mem_cgroup *memcg, enum vm_event_item idx,
944 static unsigned long memcg_events(struct mem_cgroup *memcg, int event)
953 static unsigned long memcg_events_local(struct mem_cgroup *memcg, int event)
963 static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg,
977 static bool mem_cgroup_event_ratelimit(struct mem_cgroup *memcg,
1006 static void memcg_check_events(struct mem_cgroup *memcg, int nid)
1024 struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p)
1038 static __always_inline struct mem_cgroup *active_memcg(void)
1055 * If mem_cgroup is disabled, NULL is returned.
1057 struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
1059 struct mem_cgroup *memcg;
1126 struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root,
1127 struct mem_cgroup *prev,
1132 struct mem_cgroup *memcg = NULL;
1133 struct mem_cgroup *pos = NULL;
1232 void mem_cgroup_iter_break(struct mem_cgroup *root,
1233 struct mem_cgroup *prev)
1241 static void __invalidate_reclaim_iterators(struct mem_cgroup *from,
1242 struct mem_cgroup *dead_memcg)
1255 static void invalidate_reclaim_iterators(struct mem_cgroup *dead_memcg)
1257 struct mem_cgroup *memcg = dead_memcg;
1258 struct mem_cgroup *last;
1289 void mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
1292 struct mem_cgroup *iter;
1315 struct mem_cgroup *memcg;
1401 * @lruvec: mem_cgroup per zone lru vector
1449 static unsigned long mem_cgroup_margin(struct mem_cgroup *memcg)
1479 static bool mem_cgroup_under_move(struct mem_cgroup *memcg)
1481 struct mem_cgroup *from;
1482 struct mem_cgroup *to;
1501 static bool mem_cgroup_wait_acct_move(struct mem_cgroup *memcg)
1589 static inline unsigned long memcg_page_state_output(struct mem_cgroup *memcg,
1595 static void memcg_stat_format(struct mem_cgroup *memcg, struct seq_buf *s)
1648 static void memcg1_stat_format(struct mem_cgroup *memcg, struct seq_buf *s);
1650 static void memory_stat_format(struct mem_cgroup *memcg, struct seq_buf *s)
1665 * NOTE: @memcg and @p's mem_cgroup can be different when hierarchy is
1668 void mem_cgroup_print_oom_context(struct mem_cgroup *memcg, struct task_struct *p)
1689 void mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg)
1724 unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg)
1743 unsigned long mem_cgroup_size(struct mem_cgroup *memcg)
1748 static bool mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask,
1777 static int mem_cgroup_soft_reclaim(struct mem_cgroup *root_memcg,
1782 struct mem_cgroup *victim = NULL;
1839 static bool mem_cgroup_oom_trylock(struct mem_cgroup *memcg)
1841 struct mem_cgroup *iter, *failed = NULL;
1878 static void mem_cgroup_oom_unlock(struct mem_cgroup *memcg)
1880 struct mem_cgroup *iter;
1889 static void mem_cgroup_mark_under_oom(struct mem_cgroup *memcg)
1891 struct mem_cgroup *iter;
1899 static void mem_cgroup_unmark_under_oom(struct mem_cgroup *memcg)
1901 struct mem_cgroup *iter;
1917 struct mem_cgroup *memcg;
1924 struct mem_cgroup *wake_memcg = (struct mem_cgroup *)arg;
1925 struct mem_cgroup *oom_wait_memcg;
1937 static void memcg_oom_recover(struct mem_cgroup *memcg)
1955 static bool mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order)
2027 struct mem_cgroup *memcg = current->memcg_in_oom;
2074 struct mem_cgroup *mem_cgroup_get_oom_group(struct task_struct *victim,
2075 struct mem_cgroup *oom_domain)
2077 struct mem_cgroup *oom_group = NULL;
2078 struct mem_cgroup *memcg;
2121 void mem_cgroup_print_oom_group(struct mem_cgroup *memcg)
2140 struct mem_cgroup *memcg;
2182 static void __folio_memcg_unlock(struct mem_cgroup *memcg)
2211 struct mem_cgroup *cached; /* this never be root cgroup */
2234 struct mem_cgroup *root_memcg);
2235 static void memcg_account_kmem(struct mem_cgroup *memcg, int nr_pages);
2243 struct mem_cgroup *root_memcg)
2247 static void memcg_account_kmem(struct mem_cgroup *memcg, int nr_pages)
2263 static bool consume_stock(struct mem_cgroup *memcg, unsigned int nr_pages)
2290 struct mem_cgroup *old = READ_ONCE(stock->cached);
2333 static void __refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages)
2349 static void refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages)
2362 static void drain_all_stock(struct mem_cgroup *root_memcg)
2379 struct mem_cgroup *memcg;
2413 static unsigned long reclaim_high(struct mem_cgroup *memcg,
2441 struct mem_cgroup *memcg;
2443 memcg = container_of(work, struct mem_cgroup, high_work);
2518 static u64 mem_find_max_overage(struct mem_cgroup *memcg)
2532 static u64 swap_find_max_overage(struct mem_cgroup *memcg)
2552 static unsigned long calculate_high_delay(struct mem_cgroup *memcg,
2595 struct mem_cgroup *memcg;
2667 static int try_charge_memcg(struct mem_cgroup *memcg, gfp_t gfp_mask,
2672 struct mem_cgroup *mem_over_limit;
2857 static inline int try_charge(struct mem_cgroup *memcg, gfp_t gfp_mask,
2866 static inline void cancel_charge(struct mem_cgroup *memcg, unsigned int nr_pages)
2876 static void commit_charge(struct folio *folio, struct mem_cgroup *memcg)
2908 struct mem_cgroup *memcg;
2954 struct mem_cgroup *mem_cgroup_from_obj_folio(struct folio *folio, void *p)
3002 struct mem_cgroup *mem_cgroup_from_obj(void *p)
3027 struct mem_cgroup *mem_cgroup_from_slab_obj(void *p)
3035 static struct obj_cgroup *__get_obj_cgroup_from_memcg(struct mem_cgroup *memcg)
3051 struct mem_cgroup *memcg;
3077 struct mem_cgroup *memcg;
3090 static void memcg_account_kmem(struct mem_cgroup *memcg, int nr_pages)
3110 struct mem_cgroup *memcg;
3131 struct mem_cgroup *memcg;
3290 struct mem_cgroup *memcg;
3342 struct mem_cgroup *root_memcg)
3345 struct mem_cgroup *memcg;
3447 struct mem_cgroup *memcg = folio_memcg(folio);
3466 * @from: mem_cgroup which the entry is moved from
3467 * @to: mem_cgroup which the entry is moved to
3470 * as the mem_cgroup's id of @from.
3478 struct mem_cgroup *from, struct mem_cgroup *to)
3494 struct mem_cgroup *from, struct mem_cgroup *to)
3502 static int mem_cgroup_resize_max(struct mem_cgroup *memcg,
3584 * This loop can run a while, specially if mem_cgroup's continuously
3643 static int mem_cgroup_force_empty(struct mem_cgroup *memcg)
3669 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
3695 static unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
3728 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
3779 static int memcg_online_kmem(struct mem_cgroup *memcg)
3803 static void memcg_offline_kmem(struct mem_cgroup *memcg)
3805 struct mem_cgroup *parent;
3828 static int memcg_online_kmem(struct mem_cgroup *memcg)
3832 static void memcg_offline_kmem(struct mem_cgroup *memcg)
3837 static int memcg_update_tcp_max(struct mem_cgroup *memcg, unsigned long max)
3879 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
3928 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
3972 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
4004 static unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg,
4024 static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg,
4057 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
4126 static void memcg1_stat_format(struct mem_cgroup *memcg, struct seq_buf *s)
4129 struct mem_cgroup *mi;
4209 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
4217 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
4230 static void __mem_cgroup_threshold(struct mem_cgroup *memcg, bool swap)
4281 static void mem_cgroup_threshold(struct mem_cgroup *memcg)
4306 static int mem_cgroup_oom_notify_cb(struct mem_cgroup *memcg)
4319 static void mem_cgroup_oom_notify(struct mem_cgroup *memcg)
4321 struct mem_cgroup *iter;
4327 static int __mem_cgroup_usage_register_event(struct mem_cgroup *memcg,
4407 static int mem_cgroup_usage_register_event(struct mem_cgroup *memcg,
4413 static int memsw_cgroup_usage_register_event(struct mem_cgroup *memcg,
4419 static void __mem_cgroup_usage_unregister_event(struct mem_cgroup *memcg,
4504 static void mem_cgroup_usage_unregister_event(struct mem_cgroup *memcg,
4510 static void memsw_cgroup_usage_unregister_event(struct mem_cgroup *memcg,
4516 static int mem_cgroup_oom_register_event(struct mem_cgroup *memcg,
4538 static void mem_cgroup_oom_unregister_event(struct mem_cgroup *memcg,
4557 struct mem_cgroup *memcg = mem_cgroup_from_seq(sf);
4569 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
4586 static int memcg_wb_domain_init(struct mem_cgroup *memcg, gfp_t gfp)
4591 static void memcg_wb_domain_exit(struct mem_cgroup *memcg)
4596 static void memcg_wb_domain_size_changed(struct mem_cgroup *memcg)
4603 struct mem_cgroup *memcg = mem_cgroup_from_css(wb->memcg_css);
4633 struct mem_cgroup *memcg = mem_cgroup_from_css(wb->memcg_css);
4634 struct mem_cgroup *parent;
4701 struct mem_cgroup *memcg = folio_memcg(folio);
4753 struct mem_cgroup *memcg = mem_cgroup_from_css(wb->memcg_css);
4780 static int memcg_wb_domain_init(struct mem_cgroup *memcg, gfp_t gfp)
4785 static void memcg_wb_domain_exit(struct mem_cgroup *memcg)
4789 static void memcg_wb_domain_size_changed(struct mem_cgroup *memcg)
4817 struct mem_cgroup *memcg = event->memcg;
4841 struct mem_cgroup *memcg = event->memcg;
4891 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5201 static void mem_cgroup_id_remove(struct mem_cgroup *memcg)
5209 static void __maybe_unused mem_cgroup_id_get_many(struct mem_cgroup *memcg,
5215 static void mem_cgroup_id_put_many(struct mem_cgroup *memcg, unsigned int n)
5225 static inline void mem_cgroup_id_put(struct mem_cgroup *memcg)
5236 struct mem_cgroup *mem_cgroup_from_id(unsigned short id)
5247 struct mem_cgroup *mem_cgroup_get_from_ino(unsigned long ino)
5251 struct mem_cgroup *memcg;
5259 memcg = container_of(css, struct mem_cgroup, css);
5269 static int alloc_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node)
5294 static void free_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node)
5305 static void __mem_cgroup_free(struct mem_cgroup *memcg)
5316 static void mem_cgroup_free(struct mem_cgroup *memcg)
5323 static struct mem_cgroup *mem_cgroup_alloc(void)
5325 struct mem_cgroup *memcg;
5403 struct mem_cgroup *parent = mem_cgroup_from_css(parent_css);
5404 struct mem_cgroup *memcg, *old_memcg;
5458 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5507 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5546 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5554 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5580 * mem_cgroup_css_reset - reset the states of a mem_cgroup
5583 * Reset the states of the mem_cgroup associated with @css. This is
5594 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5610 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
5611 struct mem_cgroup *parent = parent_mem_cgroup(memcg);
5826 * @from: mem_cgroup which the page is moved from.
5827 * @to: mem_cgroup which the page is moved to. @from != @to.
5836 struct mem_cgroup *from,
5837 struct mem_cgroup *to)
6146 struct mem_cgroup *from = mc.from;
6147 struct mem_cgroup *to = mc.to;
6206 struct mem_cgroup *memcg = NULL; /* unneeded init to make gcc happy */
6207 struct mem_cgroup *from;
6489 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
6497 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
6511 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
6534 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
6557 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
6606 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
6664 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
6672 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
6680 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
6706 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
6735 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
6745 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
6767 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
6844 .file_offset = offsetof(struct mem_cgroup, events_file),
6850 .file_offset = offsetof(struct mem_cgroup, events_local_file),
7018 void mem_cgroup_calculate_protection(struct mem_cgroup *root,
7019 struct mem_cgroup *memcg)
7022 struct mem_cgroup *parent;
7065 static int charge_memcg(struct folio *folio, struct mem_cgroup *memcg,
7088 struct mem_cgroup *memcg;
7113 struct mem_cgroup *memcg;
7167 struct mem_cgroup *memcg;
7205 struct mem_cgroup *memcg;
7305 struct mem_cgroup *memcg;
7347 struct mem_cgroup *memcg;
7383 bool mem_cgroup_charge_skmem(struct mem_cgroup *memcg, unsigned int nr_pages,
7414 void mem_cgroup_uncharge_skmem(struct mem_cgroup *memcg, unsigned int nr_pages)
7451 * basically everything that doesn't depend on a specific mem_cgroup structure
7489 static struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg)
7516 struct mem_cgroup *memcg, *swap_memcg;
7588 struct mem_cgroup *memcg;
7632 struct mem_cgroup *memcg;
7651 long mem_cgroup_get_nr_swap_pages(struct mem_cgroup *memcg)
7666 struct mem_cgroup *memcg;
7706 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
7714 struct mem_cgroup *memcg = mem_cgroup_from_css(css);
7728 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
7751 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
7767 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
7805 .file_offset = offsetof(struct mem_cgroup, swap_events_file),
7853 struct mem_cgroup *memcg, *original_memcg;
7893 struct mem_cgroup *memcg;
7920 struct mem_cgroup *memcg;
7950 struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));