Lines Matching refs:idx

33 __hugetlb_cgroup_counter_from_cgroup(struct hugetlb_cgroup *h_cg, int idx,  in __hugetlb_cgroup_counter_from_cgroup()  argument
37 return &h_cg->rsvd_hugepage[idx]; in __hugetlb_cgroup_counter_from_cgroup()
38 return &h_cg->hugepage[idx]; in __hugetlb_cgroup_counter_from_cgroup()
42 hugetlb_cgroup_counter_from_cgroup(struct hugetlb_cgroup *h_cg, int idx) in hugetlb_cgroup_counter_from_cgroup() argument
44 return __hugetlb_cgroup_counter_from_cgroup(h_cg, idx, false); in hugetlb_cgroup_counter_from_cgroup()
48 hugetlb_cgroup_counter_from_cgroup_rsvd(struct hugetlb_cgroup *h_cg, int idx) in hugetlb_cgroup_counter_from_cgroup_rsvd() argument
50 return __hugetlb_cgroup_counter_from_cgroup(h_cg, idx, true); in hugetlb_cgroup_counter_from_cgroup_rsvd()
78 int idx; in hugetlb_cgroup_have_usage() local
80 for (idx = 0; idx < hugetlb_max_hstate; idx++) { in hugetlb_cgroup_have_usage()
82 hugetlb_cgroup_counter_from_cgroup(h_cg, idx))) in hugetlb_cgroup_have_usage()
91 int idx; in hugetlb_cgroup_init() local
93 for (idx = 0; idx < HUGE_MAX_HSTATE; idx++) { in hugetlb_cgroup_init()
101 parent_h_cgroup, idx); in hugetlb_cgroup_init()
103 parent_h_cgroup, idx); in hugetlb_cgroup_init()
106 idx), in hugetlb_cgroup_init()
109 hugetlb_cgroup_counter_from_cgroup_rsvd(h_cgroup, idx), in hugetlb_cgroup_init()
113 pages_per_huge_page(&hstates[idx])); in hugetlb_cgroup_init()
116 hugetlb_cgroup_counter_from_cgroup(h_cgroup, idx), in hugetlb_cgroup_init()
120 hugetlb_cgroup_counter_from_cgroup_rsvd(h_cgroup, idx), in hugetlb_cgroup_init()
158 static void hugetlb_cgroup_move_parent(int idx, struct hugetlb_cgroup *h_cg, in hugetlb_cgroup_move_parent() argument
179 page_counter_charge(&parent->hugepage[idx], nr_pages); in hugetlb_cgroup_move_parent()
181 counter = &h_cg->hugepage[idx]; in hugetlb_cgroup_move_parent()
199 int idx; in hugetlb_cgroup_css_offline() local
202 idx = 0; in hugetlb_cgroup_css_offline()
206 hugetlb_cgroup_move_parent(idx, h_cg, page); in hugetlb_cgroup_css_offline()
209 idx++; in hugetlb_cgroup_css_offline()
215 static inline void hugetlb_event(struct hugetlb_cgroup *hugetlb, int idx, in hugetlb_event() argument
218 atomic_long_inc(&hugetlb->events_local[idx][event]); in hugetlb_event()
219 cgroup_file_notify(&hugetlb->events_local_file[idx]); in hugetlb_event()
222 atomic_long_inc(&hugetlb->events[idx][event]); in hugetlb_event()
223 cgroup_file_notify(&hugetlb->events_file[idx]); in hugetlb_event()
228 static int __hugetlb_cgroup_charge_cgroup(int idx, unsigned long nr_pages, in __hugetlb_cgroup_charge_cgroup() argument
242 if (huge_page_order(&hstates[idx]) < HUGETLB_CGROUP_MIN_ORDER) in __hugetlb_cgroup_charge_cgroup()
254 __hugetlb_cgroup_counter_from_cgroup(h_cg, idx, rsvd), in __hugetlb_cgroup_charge_cgroup()
257 hugetlb_event(h_cg, idx, HUGETLB_MAX); in __hugetlb_cgroup_charge_cgroup()
271 int hugetlb_cgroup_charge_cgroup(int idx, unsigned long nr_pages, in hugetlb_cgroup_charge_cgroup() argument
274 return __hugetlb_cgroup_charge_cgroup(idx, nr_pages, ptr, false); in hugetlb_cgroup_charge_cgroup()
277 int hugetlb_cgroup_charge_cgroup_rsvd(int idx, unsigned long nr_pages, in hugetlb_cgroup_charge_cgroup_rsvd() argument
280 return __hugetlb_cgroup_charge_cgroup(idx, nr_pages, ptr, true); in hugetlb_cgroup_charge_cgroup_rsvd()
284 static void __hugetlb_cgroup_commit_charge(int idx, unsigned long nr_pages, in __hugetlb_cgroup_commit_charge() argument
295 void hugetlb_cgroup_commit_charge(int idx, unsigned long nr_pages, in hugetlb_cgroup_commit_charge() argument
299 __hugetlb_cgroup_commit_charge(idx, nr_pages, h_cg, page, false); in hugetlb_cgroup_commit_charge()
302 void hugetlb_cgroup_commit_charge_rsvd(int idx, unsigned long nr_pages, in hugetlb_cgroup_commit_charge_rsvd() argument
306 __hugetlb_cgroup_commit_charge(idx, nr_pages, h_cg, page, true); in hugetlb_cgroup_commit_charge_rsvd()
312 static void __hugetlb_cgroup_uncharge_page(int idx, unsigned long nr_pages, in __hugetlb_cgroup_uncharge_page() argument
325 page_counter_uncharge(__hugetlb_cgroup_counter_from_cgroup(h_cg, idx, in __hugetlb_cgroup_uncharge_page()
335 void hugetlb_cgroup_uncharge_page(int idx, unsigned long nr_pages, in hugetlb_cgroup_uncharge_page() argument
338 __hugetlb_cgroup_uncharge_page(idx, nr_pages, page, false); in hugetlb_cgroup_uncharge_page()
341 void hugetlb_cgroup_uncharge_page_rsvd(int idx, unsigned long nr_pages, in hugetlb_cgroup_uncharge_page_rsvd() argument
344 __hugetlb_cgroup_uncharge_page(idx, nr_pages, page, true); in hugetlb_cgroup_uncharge_page_rsvd()
347 static void __hugetlb_cgroup_uncharge_cgroup(int idx, unsigned long nr_pages, in __hugetlb_cgroup_uncharge_cgroup() argument
354 if (huge_page_order(&hstates[idx]) < HUGETLB_CGROUP_MIN_ORDER) in __hugetlb_cgroup_uncharge_cgroup()
357 page_counter_uncharge(__hugetlb_cgroup_counter_from_cgroup(h_cg, idx, in __hugetlb_cgroup_uncharge_cgroup()
365 void hugetlb_cgroup_uncharge_cgroup(int idx, unsigned long nr_pages, in hugetlb_cgroup_uncharge_cgroup() argument
368 __hugetlb_cgroup_uncharge_cgroup(idx, nr_pages, h_cg, false); in hugetlb_cgroup_uncharge_cgroup()
371 void hugetlb_cgroup_uncharge_cgroup_rsvd(int idx, unsigned long nr_pages, in hugetlb_cgroup_uncharge_cgroup_rsvd() argument
374 __hugetlb_cgroup_uncharge_cgroup(idx, nr_pages, h_cg, true); in hugetlb_cgroup_uncharge_cgroup_rsvd()
455 int idx; in hugetlb_cgroup_read_u64_max() local
462 idx = MEMFILE_IDX(cft->private); in hugetlb_cgroup_read_u64_max()
463 counter = &h_cg->hugepage[idx]; in hugetlb_cgroup_read_u64_max()
466 pages_per_huge_page(&hstates[idx])); in hugetlb_cgroup_read_u64_max()
470 counter = &h_cg->rsvd_hugepage[idx]; in hugetlb_cgroup_read_u64_max()
477 counter = &h_cg->rsvd_hugepage[idx]; in hugetlb_cgroup_read_u64_max()
499 int ret, idx; in hugetlb_cgroup_write() local
512 idx = MEMFILE_IDX(of_cft(of)->private); in hugetlb_cgroup_write()
513 nr_pages = round_down(nr_pages, pages_per_huge_page(&hstates[idx])); in hugetlb_cgroup_write()
522 __hugetlb_cgroup_counter_from_cgroup(h_cg, idx, rsvd), in hugetlb_cgroup_write()
588 int idx; in __hugetlb_events_show() local
593 idx = MEMFILE_IDX(cft->private); in __hugetlb_events_show()
596 max = atomic_long_read(&h_cg->events_local[idx][HUGETLB_MAX]); in __hugetlb_events_show()
598 max = atomic_long_read(&h_cg->events[idx][HUGETLB_MAX]); in __hugetlb_events_show()
615 static void __init __hugetlb_cgroup_file_dfl_init(int idx) in __hugetlb_cgroup_file_dfl_init() argument
619 struct hstate *h = &hstates[idx]; in __hugetlb_cgroup_file_dfl_init()
627 cft->private = MEMFILE_PRIVATE(idx, RES_LIMIT); in __hugetlb_cgroup_file_dfl_init()
635 cft->private = MEMFILE_PRIVATE(idx, RES_RSVD_LIMIT); in __hugetlb_cgroup_file_dfl_init()
643 cft->private = MEMFILE_PRIVATE(idx, RES_USAGE); in __hugetlb_cgroup_file_dfl_init()
650 cft->private = MEMFILE_PRIVATE(idx, RES_RSVD_USAGE); in __hugetlb_cgroup_file_dfl_init()
657 cft->private = MEMFILE_PRIVATE(idx, 0); in __hugetlb_cgroup_file_dfl_init()
659 cft->file_offset = offsetof(struct hugetlb_cgroup, events_file[idx]); in __hugetlb_cgroup_file_dfl_init()
665 cft->private = MEMFILE_PRIVATE(idx, 0); in __hugetlb_cgroup_file_dfl_init()
668 events_local_file[idx]); in __hugetlb_cgroup_file_dfl_init()
679 static void __init __hugetlb_cgroup_file_legacy_init(int idx) in __hugetlb_cgroup_file_legacy_init() argument
683 struct hstate *h = &hstates[idx]; in __hugetlb_cgroup_file_legacy_init()
691 cft->private = MEMFILE_PRIVATE(idx, RES_LIMIT); in __hugetlb_cgroup_file_legacy_init()
698 cft->private = MEMFILE_PRIVATE(idx, RES_RSVD_LIMIT); in __hugetlb_cgroup_file_legacy_init()
705 cft->private = MEMFILE_PRIVATE(idx, RES_USAGE); in __hugetlb_cgroup_file_legacy_init()
711 cft->private = MEMFILE_PRIVATE(idx, RES_RSVD_USAGE); in __hugetlb_cgroup_file_legacy_init()
717 cft->private = MEMFILE_PRIVATE(idx, RES_MAX_USAGE); in __hugetlb_cgroup_file_legacy_init()
724 cft->private = MEMFILE_PRIVATE(idx, RES_RSVD_MAX_USAGE); in __hugetlb_cgroup_file_legacy_init()
731 cft->private = MEMFILE_PRIVATE(idx, RES_FAILCNT); in __hugetlb_cgroup_file_legacy_init()
738 cft->private = MEMFILE_PRIVATE(idx, RES_RSVD_FAILCNT); in __hugetlb_cgroup_file_legacy_init()
750 static void __init __hugetlb_cgroup_file_init(int idx) in __hugetlb_cgroup_file_init() argument
752 __hugetlb_cgroup_file_dfl_init(idx); in __hugetlb_cgroup_file_init()
753 __hugetlb_cgroup_file_legacy_init(idx); in __hugetlb_cgroup_file_init()