mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
add mm argument to pte/pmd/pud/pgd_free
(with Martin Schwidefsky <[email protected]>) The pgd/pud/pmd/pte page table allocation functions get a mm_struct pointer as first argument. The free functions do not get the mm_struct argument. This is 1) asymmetrical and 2) to do mm related page table allocations the mm argument is needed on the free function as well. [[email protected]: i386 fix] [[email protected]: coding-syle fixes] Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]> Cc: <[email protected]> Signed-off-by: Kamalesh Babulal <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
9f8f217253
commit
5e5419734c
43 changed files with 151 additions and 151 deletions
|
|
@ -27,14 +27,14 @@
|
|||
* Since we have only two-level page tables, these are trivial
|
||||
*/
|
||||
#define pmd_alloc_one(mm,addr) ({ BUG(); ((pmd_t *)2); })
|
||||
#define pmd_free(pmd) do { } while (0)
|
||||
#define pmd_free(mm, pmd) do { } while (0)
|
||||
#define pgd_populate(mm,pmd,pte) BUG()
|
||||
|
||||
extern pgd_t *get_pgd_slow(struct mm_struct *mm);
|
||||
extern void free_pgd_slow(pgd_t *pgd);
|
||||
extern void free_pgd_slow(struct mm_struct *mm, pgd_t *pgd);
|
||||
|
||||
#define pgd_alloc(mm) get_pgd_slow(mm)
|
||||
#define pgd_free(pgd) free_pgd_slow(pgd)
|
||||
#define pgd_free(mm, pgd) free_pgd_slow(mm, pgd)
|
||||
|
||||
/*
|
||||
* Allocate one PTE table.
|
||||
|
|
@ -83,7 +83,7 @@ pte_alloc_one(struct mm_struct *mm, unsigned long addr)
|
|||
/*
|
||||
* Free one PTE table.
|
||||
*/
|
||||
static inline void pte_free_kernel(pte_t *pte)
|
||||
static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
|
||||
{
|
||||
if (pte) {
|
||||
pte -= PTRS_PER_PTE;
|
||||
|
|
@ -91,7 +91,7 @@ static inline void pte_free_kernel(pte_t *pte)
|
|||
}
|
||||
}
|
||||
|
||||
static inline void pte_free(struct page *pte)
|
||||
static inline void pte_free(struct mm_struct *mm, struct page *pte)
|
||||
{
|
||||
__free_page(pte);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
|
|||
}
|
||||
|
||||
#define tlb_remove_page(tlb,page) free_page_and_swap_cache(page)
|
||||
#define pte_free_tlb(tlb,ptep) pte_free(ptep)
|
||||
#define pmd_free_tlb(tlb,pmdp) pmd_free(pmdp)
|
||||
#define pte_free_tlb(tlb, ptep) pte_free((tlb)->mm, ptep)
|
||||
#define pmd_free_tlb(tlb, pmdp) pmd_free((tlb)->mm, pmdp)
|
||||
|
||||
#define tlb_migrate_finish(mm) do { } while (0)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue