X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=mm%2Fmemcontrol.c;h=7d698df4a067ce591fd661f45e098610e1a027db;hb=3f0882c48286e7bdb0bbdec9c4bfa934e0db8e09;hp=b2ee6df0e9bb31eebd3b2f1528cbbcccb2b9c43e;hpb=7fd52392c56361a40f0c630a82b36b95ca31eac6;p=~andy%2Flinux diff --git a/mm/memcontrol.c b/mm/memcontrol.c index b2ee6df0e9b..7d698df4a06 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5306,6 +5306,8 @@ static int mem_cgroup_count_precharge_pte_range(pmd_t *pmd, return 0; } + if (pmd_trans_unstable(pmd)) + return 0; pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); for (; addr != end; pte++, addr += PAGE_SIZE) if (get_mctgt_type(vma, addr, *pte, NULL)) @@ -5502,6 +5504,8 @@ static int mem_cgroup_move_charge_pte_range(pmd_t *pmd, return 0; } + if (pmd_trans_unstable(pmd)) + return 0; retry: pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); for (; addr != end; addr += PAGE_SIZE) {