powerpc/mm: inline pte_alloc_one_kernel() and pte_alloc_one() on PPC32
pte_alloc_one_kernel() and pte_alloc_one() are simple calls to pte_fragment_alloc(), so they are good candidates for inlining as already done on PPC64. Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
4a6d8cf900
Коммит
b0124ff57e
|
@ -59,10 +59,19 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmdp,
|
|||
|
||||
#define pmd_pgtable(pmd) ((pgtable_t)pmd_page_vaddr(pmd))
|
||||
|
||||
extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
|
||||
extern pgtable_t pte_alloc_one(struct mm_struct *mm);
|
||||
void pte_frag_destroy(void *pte_frag);
|
||||
pte_t *pte_fragment_alloc(struct mm_struct *mm, int kernel);
|
||||
|
||||
static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
|
||||
{
|
||||
return (pte_t *)pte_fragment_alloc(mm, 1);
|
||||
}
|
||||
|
||||
static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
|
||||
{
|
||||
return (pgtable_t)pte_fragment_alloc(mm, 0);
|
||||
}
|
||||
|
||||
void pte_frag_destroy(void *pte_frag);
|
||||
void pte_fragment_free(unsigned long *table, int kernel);
|
||||
|
||||
static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
|
||||
|
|
|
@ -77,10 +77,19 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmdp,
|
|||
#define pmd_pgtable(pmd) ((pgtable_t)pmd_page_vaddr(pmd))
|
||||
#endif
|
||||
|
||||
extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
|
||||
extern pgtable_t pte_alloc_one(struct mm_struct *mm);
|
||||
void pte_frag_destroy(void *pte_frag);
|
||||
pte_t *pte_fragment_alloc(struct mm_struct *mm, int kernel);
|
||||
|
||||
static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
|
||||
{
|
||||
return (pte_t *)pte_fragment_alloc(mm, 1);
|
||||
}
|
||||
|
||||
static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
|
||||
{
|
||||
return (pgtable_t)pte_fragment_alloc(mm, 0);
|
||||
}
|
||||
|
||||
void pte_frag_destroy(void *pte_frag);
|
||||
void pte_fragment_free(unsigned long *table, int kernel);
|
||||
|
||||
static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
|
||||
|
|
|
@ -43,16 +43,6 @@ EXPORT_SYMBOL(ioremap_bot); /* aka VMALLOC_END */
|
|||
|
||||
extern char etext[], _stext[], _sinittext[], _einittext[];
|
||||
|
||||
pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
|
||||
{
|
||||
return (pte_t *)pte_fragment_alloc(mm, 1);
|
||||
}
|
||||
|
||||
pgtable_t pte_alloc_one(struct mm_struct *mm)
|
||||
{
|
||||
return (pgtable_t)pte_fragment_alloc(mm, 0);
|
||||
}
|
||||
|
||||
void __iomem *
|
||||
ioremap(phys_addr_t addr, unsigned long size)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче