Lines Matching refs:mc

208 } mc = {  variable
209 .lock = __SPIN_LOCK_UNLOCKED(mc.lock),
210 .waitq = __WAIT_QUEUE_HEAD_INITIALIZER(mc.waitq),
1213 spin_lock(&mc.lock); in mem_cgroup_under_move()
1214 from = mc.from; in mem_cgroup_under_move()
1215 to = mc.to; in mem_cgroup_under_move()
1222 spin_unlock(&mc.lock); in mem_cgroup_under_move()
1228 if (mc.moving_task && current != mc.moving_task) { in mem_cgroup_wait_acct_move()
1231 prepare_to_wait(&mc.waitq, &wait, TASK_INTERRUPTIBLE); in mem_cgroup_wait_acct_move()
1233 if (mc.moving_task) in mem_cgroup_wait_acct_move()
1235 finish_wait(&mc.waitq, &wait); in mem_cgroup_wait_acct_move()
4405 ret = try_charge(mc.to, GFP_KERNEL & ~__GFP_DIRECT_RECLAIM, count); in mem_cgroup_do_precharge()
4407 mc.precharge += count; in mem_cgroup_do_precharge()
4413 ret = try_charge(mc.to, GFP_KERNEL & ~__GFP_NORETRY, 1); in mem_cgroup_do_precharge()
4416 mc.precharge++; in mem_cgroup_do_precharge()
4459 if (!(mc.flags & MOVE_ANON)) in mc_handle_present_pte()
4462 if (!(mc.flags & MOVE_FILE)) in mc_handle_present_pte()
4478 if (!(mc.flags & MOVE_ANON) || non_swap_entry(ent)) in mc_handle_swap_pte()
4507 if (!(mc.flags & MOVE_FILE)) in mc_handle_file_pte()
4658 if (page->mem_cgroup == mc.from) { in get_mctgt_type()
4668 mem_cgroup_id(mc.from) == lookup_swap_cgroup_id(ent)) { in get_mctgt_type()
4690 if (!(mc.flags & MOVE_ANON)) in get_mctgt_type_thp()
4692 if (page->mem_cgroup == mc.from) { in get_mctgt_type_thp()
4719 mc.precharge += HPAGE_PMD_NR; in mem_cgroup_count_precharge_pte_range()
4729 mc.precharge++; /* increment precharge temporarily */ in mem_cgroup_count_precharge_pte_range()
4748 precharge = mc.precharge; in mem_cgroup_count_precharge()
4749 mc.precharge = 0; in mem_cgroup_count_precharge()
4758 VM_BUG_ON(mc.moving_task); in mem_cgroup_precharge_mc()
4759 mc.moving_task = current; in mem_cgroup_precharge_mc()
4766 struct mem_cgroup *from = mc.from; in __mem_cgroup_clear_mc()
4767 struct mem_cgroup *to = mc.to; in __mem_cgroup_clear_mc()
4770 if (mc.precharge) { in __mem_cgroup_clear_mc()
4771 cancel_charge(mc.to, mc.precharge); in __mem_cgroup_clear_mc()
4772 mc.precharge = 0; in __mem_cgroup_clear_mc()
4778 if (mc.moved_charge) { in __mem_cgroup_clear_mc()
4779 cancel_charge(mc.from, mc.moved_charge); in __mem_cgroup_clear_mc()
4780 mc.moved_charge = 0; in __mem_cgroup_clear_mc()
4783 if (mc.moved_swap) { in __mem_cgroup_clear_mc()
4785 if (!mem_cgroup_is_root(mc.from)) in __mem_cgroup_clear_mc()
4786 page_counter_uncharge(&mc.from->memsw, mc.moved_swap); in __mem_cgroup_clear_mc()
4792 if (!mem_cgroup_is_root(mc.to)) in __mem_cgroup_clear_mc()
4793 page_counter_uncharge(&mc.to->memory, mc.moved_swap); in __mem_cgroup_clear_mc()
4795 css_put_many(&mc.from->css, mc.moved_swap); in __mem_cgroup_clear_mc()
4798 mc.moved_swap = 0; in __mem_cgroup_clear_mc()
4802 wake_up_all(&mc.waitq); in __mem_cgroup_clear_mc()
4807 struct mm_struct *mm = mc.mm; in mem_cgroup_clear_mc()
4813 mc.moving_task = NULL; in mem_cgroup_clear_mc()
4815 spin_lock(&mc.lock); in mem_cgroup_clear_mc()
4816 mc.from = NULL; in mem_cgroup_clear_mc()
4817 mc.to = NULL; in mem_cgroup_clear_mc()
4818 mc.mm = NULL; in mem_cgroup_clear_mc()
4819 spin_unlock(&mc.lock); in mem_cgroup_clear_mc()
4871 VM_BUG_ON(mc.from); in mem_cgroup_can_attach()
4872 VM_BUG_ON(mc.to); in mem_cgroup_can_attach()
4873 VM_BUG_ON(mc.precharge); in mem_cgroup_can_attach()
4874 VM_BUG_ON(mc.moved_charge); in mem_cgroup_can_attach()
4875 VM_BUG_ON(mc.moved_swap); in mem_cgroup_can_attach()
4877 spin_lock(&mc.lock); in mem_cgroup_can_attach()
4878 mc.mm = mm; in mem_cgroup_can_attach()
4879 mc.from = from; in mem_cgroup_can_attach()
4880 mc.to = memcg; in mem_cgroup_can_attach()
4881 mc.flags = move_flags; in mem_cgroup_can_attach()
4882 spin_unlock(&mc.lock); in mem_cgroup_can_attach()
4896 if (mc.to) in mem_cgroup_cancel_attach()
4923 if (mc.precharge < HPAGE_PMD_NR) { in mem_cgroup_move_charge_pte_range()
4932 mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
4933 mc.precharge -= HPAGE_PMD_NR; in mem_cgroup_move_charge_pte_range()
4934 mc.moved_charge += HPAGE_PMD_NR; in mem_cgroup_move_charge_pte_range()
4952 if (!mc.precharge) in mem_cgroup_move_charge_pte_range()
4960 if (!mem_cgroup_move_account(page, 1, mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
4961 mc.precharge--; in mem_cgroup_move_charge_pte_range()
4963 mc.moved_charge++; in mem_cgroup_move_charge_pte_range()
4971 if (!mem_cgroup_move_swap_account(ent, mc.from, mc.to)) { in mem_cgroup_move_charge_pte_range()
4972 mc.precharge--; in mem_cgroup_move_charge_pte_range()
4974 mc.moved_swap++; in mem_cgroup_move_charge_pte_range()
5003 .mm = mc.mm, in mem_cgroup_move_charge()
5012 atomic_inc(&mc.from->moving_account); in mem_cgroup_move_charge()
5015 if (unlikely(!down_read_trylock(&mc.mm->mmap_sem))) { in mem_cgroup_move_charge()
5032 up_read(&mc.mm->mmap_sem); in mem_cgroup_move_charge()
5033 atomic_dec(&mc.from->moving_account); in mem_cgroup_move_charge()
5038 if (mc.to) { in mem_cgroup_move_task()