diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2008-02-05 01:29:14 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 12:44:18 -0500 |
commit | 5e5419734c8719cbc01af959ad9c0844002c0df5 (patch) | |
tree | a075dca3f719946689efa0245464855cbf2a20ce /include/asm-sh | |
parent | 9f8f2172537de7af0b0fbd33502d18d52b1339bc (diff) |
add mm argument to pte/pmd/pud/pgd_free
(with Martin Schwidefsky <schwidefsky@de.ibm.com>)
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.
[kamalesh@linux.vnet.ibm.com: i386 fix]
[akpm@linux-foundation.org: coding-syle fixes]
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-sh')
-rw-r--r-- | include/asm-sh/pgalloc.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-sh/pgalloc.h b/include/asm-sh/pgalloc.h index 18b613c57cf..59ca16d77a1 100644 --- a/include/asm-sh/pgalloc.h +++ b/include/asm-sh/pgalloc.h | |||
@@ -36,7 +36,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) | |||
36 | return quicklist_alloc(QUICK_PGD, GFP_KERNEL | __GFP_REPEAT, pgd_ctor); | 36 | return quicklist_alloc(QUICK_PGD, GFP_KERNEL | __GFP_REPEAT, pgd_ctor); |
37 | } | 37 | } |
38 | 38 | ||
39 | static inline void pgd_free(pgd_t *pgd) | 39 | static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) |
40 | { | 40 | { |
41 | quicklist_free(QUICK_PGD, NULL, pgd); | 41 | quicklist_free(QUICK_PGD, NULL, pgd); |
42 | } | 42 | } |
@@ -54,12 +54,12 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm, | |||
54 | return pg ? virt_to_page(pg) : NULL; | 54 | return pg ? virt_to_page(pg) : NULL; |
55 | } | 55 | } |
56 | 56 | ||
57 | static inline void pte_free_kernel(pte_t *pte) | 57 | static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) |
58 | { | 58 | { |
59 | quicklist_free(QUICK_PT, NULL, pte); | 59 | quicklist_free(QUICK_PT, NULL, pte); |
60 | } | 60 | } |
61 | 61 | ||
62 | static inline void pte_free(struct page *pte) | 62 | static inline void pte_free(struct mm_struct *mm, struct page *pte) |
63 | { | 63 | { |
64 | quicklist_free_page(QUICK_PT, NULL, pte); | 64 | quicklist_free_page(QUICK_PT, NULL, pte); |
65 | } | 65 | } |
@@ -71,7 +71,7 @@ static inline void pte_free(struct page *pte) | |||
71 | * inside the pgd, so has no extra memory associated with it. | 71 | * inside the pgd, so has no extra memory associated with it. |
72 | */ | 72 | */ |
73 | 73 | ||
74 | #define pmd_free(x) do { } while (0) | 74 | #define pmd_free(mm, x) do { } while (0) |
75 | #define __pmd_free_tlb(tlb,x) do { } while (0) | 75 | #define __pmd_free_tlb(tlb,x) do { } while (0) |
76 | 76 | ||
77 | static inline void check_pgt_cache(void) | 77 | static inline void check_pgt_cache(void) |