~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise-proposed

« back to all changes in this revision

Viewing changes to mm/memory.c

  • Committer: Package Import Robot
  • Author(s): Luke Yelavich, Luke Yelavich, Upstream Kernel Changes
  • Date: 2012-04-04 18:49:36 UTC
  • Revision ID: package-import@ubuntu.com-20120404184936-tqu735914muv4wpg
Tags: 3.2.0-22.30
[ Luke Yelavich ]

* [Config] Update configs after rebase against Ubuntu-3.2.0-22.35

[ Upstream Kernel Changes ]

* Low-latency: Rebase against Ubuntu-3.2.0-22.35

Show diffs side-by-side

added added

removed removed

Lines of Context:
1228
1228
        do {
1229
1229
                next = pmd_addr_end(addr, end);
1230
1230
                if (pmd_trans_huge(*pmd)) {
1231
 
                        if (next-addr != HPAGE_PMD_SIZE) {
 
1231
                        if (next - addr != HPAGE_PMD_SIZE) {
1232
1232
                                VM_BUG_ON(!rwsem_is_locked(&tlb->mm->mmap_sem));
1233
1233
                                split_huge_page_pmd(vma->vm_mm, pmd);
1234
1234
                        } else if (zap_huge_pmd(tlb, vma, pmd))
1235
 
                                continue;
 
1235
                                goto next;
1236
1236
                        /* fall through */
1237
1237
                }
1238
 
                if (pmd_none_or_clear_bad(pmd))
1239
 
                        continue;
 
1238
                /*
 
1239
                 * Here there can be other concurrent MADV_DONTNEED or
 
1240
                 * trans huge page faults running, and if the pmd is
 
1241
                 * none or trans huge it can change under us. This is
 
1242
                 * because MADV_DONTNEED holds the mmap_sem in read
 
1243
                 * mode.
 
1244
                 */
 
1245
                if (pmd_none_or_trans_huge_or_clear_bad(pmd))
 
1246
                        goto next;
1240
1247
                next = zap_pte_range(tlb, vma, pmd, addr, next, details);
 
1248
next:
1241
1249
                cond_resched();
1242
1250
        } while (pmd++, addr = next, addr != end);
1243
1251