Lines Matching refs:mc

194 } mc = {  variable
195 .lock = __SPIN_LOCK_UNLOCKED(mc.lock),
196 .waitq = __WAIT_QUEUE_HEAD_INITIALIZER(mc.waitq),
1458 spin_lock(&mc.lock); in mem_cgroup_under_move()
1459 from = mc.from; in mem_cgroup_under_move()
1460 to = mc.to; in mem_cgroup_under_move()
1467 spin_unlock(&mc.lock); in mem_cgroup_under_move()
1473 if (mc.moving_task && current != mc.moving_task) { in mem_cgroup_wait_acct_move()
1476 prepare_to_wait(&mc.waitq, &wait, TASK_INTERRUPTIBLE); in mem_cgroup_wait_acct_move()
1478 if (mc.moving_task) in mem_cgroup_wait_acct_move()
1480 finish_wait(&mc.waitq, &wait); in mem_cgroup_wait_acct_move()
5642 ret = try_charge(mc.to, GFP_KERNEL & ~__GFP_DIRECT_RECLAIM, count); in mem_cgroup_do_precharge()
5644 mc.precharge += count; in mem_cgroup_do_precharge()
5650 ret = try_charge(mc.to, GFP_KERNEL | __GFP_NORETRY, 1); in mem_cgroup_do_precharge()
5653 mc.precharge++; in mem_cgroup_do_precharge()
5679 if (!(mc.flags & MOVE_ANON)) in mc_handle_present_pte()
5682 if (!(mc.flags & MOVE_FILE)) in mc_handle_present_pte()
5697 if (!(mc.flags & MOVE_ANON)) in mc_handle_swap_pte()
5739 if (!(mc.flags & MOVE_FILE)) in mc_handle_file_pte()
5942 if (page_memcg(page) == mc.from) { in get_mctgt_type()
5961 mem_cgroup_id(mc.from) == lookup_swap_cgroup_id(ent)) { in get_mctgt_type()
5988 if (!(mc.flags & MOVE_ANON)) in get_mctgt_type_thp()
5990 if (page_memcg(page) == mc.from) { in get_mctgt_type_thp()
6027 mc.precharge += HPAGE_PMD_NR; in mem_cgroup_count_precharge_pte_range()
6037 mc.precharge++; /* increment precharge temporarily */ in mem_cgroup_count_precharge_pte_range()
6057 precharge = mc.precharge; in mem_cgroup_count_precharge()
6058 mc.precharge = 0; in mem_cgroup_count_precharge()
6067 VM_BUG_ON(mc.moving_task); in mem_cgroup_precharge_mc()
6068 mc.moving_task = current; in mem_cgroup_precharge_mc()
6075 struct mem_cgroup *from = mc.from; in __mem_cgroup_clear_mc()
6076 struct mem_cgroup *to = mc.to; in __mem_cgroup_clear_mc()
6079 if (mc.precharge) { in __mem_cgroup_clear_mc()
6080 cancel_charge(mc.to, mc.precharge); in __mem_cgroup_clear_mc()
6081 mc.precharge = 0; in __mem_cgroup_clear_mc()
6087 if (mc.moved_charge) { in __mem_cgroup_clear_mc()
6088 cancel_charge(mc.from, mc.moved_charge); in __mem_cgroup_clear_mc()
6089 mc.moved_charge = 0; in __mem_cgroup_clear_mc()
6092 if (mc.moved_swap) { in __mem_cgroup_clear_mc()
6094 if (!mem_cgroup_is_root(mc.from)) in __mem_cgroup_clear_mc()
6095 page_counter_uncharge(&mc.from->memsw, mc.moved_swap); in __mem_cgroup_clear_mc()
6097 mem_cgroup_id_put_many(mc.from, mc.moved_swap); in __mem_cgroup_clear_mc()
6103 if (!mem_cgroup_is_root(mc.to)) in __mem_cgroup_clear_mc()
6104 page_counter_uncharge(&mc.to->memory, mc.moved_swap); in __mem_cgroup_clear_mc()
6106 mc.moved_swap = 0; in __mem_cgroup_clear_mc()
6110 wake_up_all(&mc.waitq); in __mem_cgroup_clear_mc()
6115 struct mm_struct *mm = mc.mm; in mem_cgroup_clear_mc()
6121 mc.moving_task = NULL; in mem_cgroup_clear_mc()
6123 spin_lock(&mc.lock); in mem_cgroup_clear_mc()
6124 mc.from = NULL; in mem_cgroup_clear_mc()
6125 mc.to = NULL; in mem_cgroup_clear_mc()
6126 mc.mm = NULL; in mem_cgroup_clear_mc()
6127 spin_unlock(&mc.lock); in mem_cgroup_clear_mc()
6179 VM_BUG_ON(mc.from); in mem_cgroup_can_attach()
6180 VM_BUG_ON(mc.to); in mem_cgroup_can_attach()
6181 VM_BUG_ON(mc.precharge); in mem_cgroup_can_attach()
6182 VM_BUG_ON(mc.moved_charge); in mem_cgroup_can_attach()
6183 VM_BUG_ON(mc.moved_swap); in mem_cgroup_can_attach()
6185 spin_lock(&mc.lock); in mem_cgroup_can_attach()
6186 mc.mm = mm; in mem_cgroup_can_attach()
6187 mc.from = from; in mem_cgroup_can_attach()
6188 mc.to = memcg; in mem_cgroup_can_attach()
6189 mc.flags = move_flags; in mem_cgroup_can_attach()
6190 spin_unlock(&mc.lock); in mem_cgroup_can_attach()
6204 if (mc.to) in mem_cgroup_cancel_attach()
6222 if (mc.precharge < HPAGE_PMD_NR) { in mem_cgroup_move_charge_pte_range()
6231 mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
6232 mc.precharge -= HPAGE_PMD_NR; in mem_cgroup_move_charge_pte_range()
6233 mc.moved_charge += HPAGE_PMD_NR; in mem_cgroup_move_charge_pte_range()
6242 mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
6243 mc.precharge -= HPAGE_PMD_NR; in mem_cgroup_move_charge_pte_range()
6244 mc.moved_charge += HPAGE_PMD_NR; in mem_cgroup_move_charge_pte_range()
6262 if (!mc.precharge) in mem_cgroup_move_charge_pte_range()
6282 mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
6283 mc.precharge--; in mem_cgroup_move_charge_pte_range()
6285 mc.moved_charge++; in mem_cgroup_move_charge_pte_range()
6295 if (!mem_cgroup_move_swap_account(ent, mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
6296 mc.precharge--; in mem_cgroup_move_charge_pte_range()
6297 mem_cgroup_id_get_many(mc.to, 1); in mem_cgroup_move_charge_pte_range()
6299 mc.moved_swap++; in mem_cgroup_move_charge_pte_range()
6337 atomic_inc(&mc.from->moving_account); in mem_cgroup_move_charge()
6340 if (unlikely(!mmap_read_trylock(mc.mm))) { in mem_cgroup_move_charge()
6356 walk_page_range(mc.mm, 0, ULONG_MAX, &charge_walk_ops, NULL); in mem_cgroup_move_charge()
6357 mmap_read_unlock(mc.mm); in mem_cgroup_move_charge()
6358 atomic_dec(&mc.from->moving_account); in mem_cgroup_move_charge()
6363 if (mc.to) { in mem_cgroup_move_task()