diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-08-24 12:25:44 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-08-24 12:25:54 +0200 | 
| commit | 5f9ece02401116b29eb04396b99ea092acb75dd8 (patch) | |
| tree | e10386e2dc63c275646b4eb0bed857da7bf86c6a /mm/memory.c | |
| parent | 9f51e24ee8b5a1595b6a5ac0c2be278a16488e75 (diff) | |
| parent | 422bef879e84104fee6dc68ded0e371dbeb5f88e (diff) | |
| download | olio-linux-3.10-5f9ece02401116b29eb04396b99ea092acb75dd8.tar.xz olio-linux-3.10-5f9ece02401116b29eb04396b99ea092acb75dd8.zip  | |
Merge commit 'v2.6.31-rc7' into x86/cleanups
Merge reason: we were on -rc1 before - go up to -rc7
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'mm/memory.c')
| -rw-r--r-- | mm/memory.c | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/mm/memory.c b/mm/memory.c index 65216194eb8..aede2ce3aba 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -135,11 +135,12 @@ void pmd_clear_bad(pmd_t *pmd)   * Note: this doesn't free the actual pages themselves. That   * has been handled earlier when unmapping all the memory regions.   */ -static void free_pte_range(struct mmu_gather *tlb, pmd_t *pmd) +static void free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, +			   unsigned long addr)  {  	pgtable_t token = pmd_pgtable(*pmd);  	pmd_clear(pmd); -	pte_free_tlb(tlb, token); +	pte_free_tlb(tlb, token, addr);  	tlb->mm->nr_ptes--;  } @@ -157,7 +158,7 @@ static inline void free_pmd_range(struct mmu_gather *tlb, pud_t *pud,  		next = pmd_addr_end(addr, end);  		if (pmd_none_or_clear_bad(pmd))  			continue; -		free_pte_range(tlb, pmd); +		free_pte_range(tlb, pmd, addr);  	} while (pmd++, addr = next, addr != end);  	start &= PUD_MASK; @@ -173,7 +174,7 @@ static inline void free_pmd_range(struct mmu_gather *tlb, pud_t *pud,  	pmd = pmd_offset(pud, start);  	pud_clear(pud); -	pmd_free_tlb(tlb, pmd); +	pmd_free_tlb(tlb, pmd, start);  }  static inline void free_pud_range(struct mmu_gather *tlb, pgd_t *pgd, @@ -206,7 +207,7 @@ static inline void free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,  	pud = pud_offset(pgd, start);  	pgd_clear(pgd); -	pud_free_tlb(tlb, pud); +	pud_free_tlb(tlb, pud, start);  }  /*  |