aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2007-05-06 17:49:02 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-07 15:12:51 -0400
commit5f22df00a009e3f86301366c0ecddb63ebd22af9 (patch)
tree72f0ea3e114dbb6825fc7e73f828645d364ea520
parentd2ba27e8007b35d24764c0877ab2428e00a5c5ab (diff)
mm: remove gcc workaround
Minimum gcc version is 3.2 now. However, with likely profiling, even modern gcc versions cannot always eliminate the call. Replace the placeholder functions with the more conventional empty static inlines, which should be optimal for everyone. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/mm.h18
-rw-r--r--mm/memory.c12
2 files changed, 18 insertions, 12 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 7bf0bd882fc3..c95d96ebd5ad 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -850,8 +850,26 @@ static inline int vma_wants_writenotify(struct vm_area_struct *vma)
850 850
851extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)); 851extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl));
852 852
853#ifdef __PAGETABLE_PUD_FOLDED
854static inline int __pud_alloc(struct mm_struct *mm, pgd_t *pgd,
855 unsigned long address)
856{
857 return 0;
858}
859#else
853int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address); 860int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address);
861#endif
862
863#ifdef __PAGETABLE_PMD_FOLDED
864static inline int __pmd_alloc(struct mm_struct *mm, pud_t *pud,
865 unsigned long address)
866{
867 return 0;
868}
869#else
854int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address); 870int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address);
871#endif
872
855int __pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address); 873int __pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address);
856int __pte_alloc_kernel(pmd_t *pmd, unsigned long address); 874int __pte_alloc_kernel(pmd_t *pmd, unsigned long address);
857 875
diff --git a/mm/memory.c b/mm/memory.c
index 044feb7e7134..c252aae544e9 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2633,12 +2633,6 @@ int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)
2633 spin_unlock(&mm->page_table_lock); 2633 spin_unlock(&mm->page_table_lock);
2634 return 0; 2634 return 0;
2635} 2635}
2636#else
2637/* Workaround for gcc 2.96 */
2638int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)
2639{
2640 return 0;
2641}
2642#endif /* __PAGETABLE_PUD_FOLDED */ 2636#endif /* __PAGETABLE_PUD_FOLDED */
2643 2637
2644#ifndef __PAGETABLE_PMD_FOLDED 2638#ifndef __PAGETABLE_PMD_FOLDED
@@ -2667,12 +2661,6 @@ int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
2667 spin_unlock(&mm->page_table_lock); 2661 spin_unlock(&mm->page_table_lock);
2668 return 0; 2662 return 0;
2669} 2663}
2670#else
2671/* Workaround for gcc 2.96 */
2672int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
2673{
2674 return 0;
2675}
2676#endif /* __PAGETABLE_PMD_FOLDED */ 2664#endif /* __PAGETABLE_PMD_FOLDED */
2677 2665
2678int make_pages_present(unsigned long addr, unsigned long end) 2666int make_pages_present(unsigned long addr, unsigned long end)