mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 13:52:50 +01:00
powerpc: inline huge vmap supported functions
This allows unsupported levels to be constant folded away, and so p4d_free_pud_page can be removed because it's no longer linked to. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Nicholas Piggin <[email protected]> Acked-by: Michael Ellerman <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Ding Tianhong <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Miaohe Lin <[email protected]> Cc: Russell King <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Uladzislau Rezki (Sony) <[email protected]> Cc: Will Deacon <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
1 parent
bbc180a5ad
commit
8309c9d717
2 files changed
+16
-24
No files matched your search
@@ -1,12 +1,25 @@
|
||||
#ifndef _ASM_POWERPC_VMALLOC_H
|
||||
#define _ASM_POWERPC_VMALLOC_H
|
||||
|
||||
#include <asm/mmu.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
#ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
|
||||
bool arch_vmap_p4d_supported(pgprot_t prot);
|
||||
bool arch_vmap_pud_supported(pgprot_t prot);
|
||||
bool arch_vmap_pmd_supported(pgprot_t prot);
|
||||
static inline bool arch_vmap_p4d_supported(pgprot_t prot)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool arch_vmap_pud_supported(pgprot_t prot)
|
||||
{
|
||||
/* HPT does not cope with large pages in the vmalloc area */
|
||||
return radix_enabled();
|
||||
}
|
||||
|
||||
static inline bool arch_vmap_pmd_supported(pgprot_t prot)
|
||||
{
|
||||
return radix_enabled();
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_POWERPC_VMALLOC_H */
|
||||
@@ -1082,22 +1082,6 @@ void radix__ptep_modify_prot_commit(struct vm_area_struct *vma,
|
||||
set_pte_at(mm, addr, ptep, pte);
|
||||
}
|
||||
|
||||
bool arch_vmap_pud_supported(pgprot_t prot)
|
||||
{
|
||||
/* HPT does not cope with large pages in the vmalloc area */
|
||||
return radix_enabled();
|
||||
}
|
||||
|
||||
bool arch_vmap_pmd_supported(pgprot_t prot)
|
||||
{
|
||||
return radix_enabled();
|
||||
}
|
||||
|
||||
int p4d_free_pud_page(p4d_t *p4d, unsigned long addr)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
|
||||
{
|
||||
pte_t *ptep = (pte_t *)pud;
|
||||
@@ -1181,8 +1165,3 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool arch_vmap_p4d_supported(pgprot_t prot)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Reference in new issue
Block a user