diff --git a/mm/memory.c b/mm/memory.c index 2366578015ad..b95a43221058 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -78,6 +78,7 @@ #include #include #include +#include #include @@ -410,6 +411,13 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, unlink_file_vma_batch_add(&vb, vma); } unlink_file_vma_batch_final(&vb); + + if (strcmp(current->comm, "SLOWME1") == 0) { + pr_warn("%s: starting delay\n", __func__); + mdelay(2000); + pr_warn("%s: ending delay\n", __func__); + } + free_pgd_range(tlb, addr, vma->vm_end, floor, next ? next->vm_start : ceiling); } @@ -1711,6 +1719,13 @@ static inline unsigned long zap_pmd_range(struct mmu_gather *tlb, unsigned long next; pmd = pmd_offset(pud, addr); + + if (strcmp(current->comm, "SLOWME2") == 0) { + pr_warn("%s: starting delay\n", __func__); + mdelay(2000); + pr_warn("%s: ending delay\n", __func__); + } + do { next = pmd_addr_end(addr, end); if (is_swap_pmd(*pmd) || pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) {