On Thu 11-01-18 09:53:31, Alexandre Ghiti wrote:
> The only definition of vmf_insert_pfn_pud depends on
> CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD being defined. Then its declaration 
> in
> include/linux/huge_mm.h should have the same restriction so that we do
> not expose this function if CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD is
> not defined.

Why is this a problem? Compiler should simply throw away any
declarations which are not used?

> Signed-off-by: Alexandre Ghiti <[email protected]>
> ---
>  include/linux/huge_mm.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
> index a8a1262..11794f6a 100644
> --- a/include/linux/huge_mm.h
> +++ b/include/linux/huge_mm.h
> @@ -48,8 +48,10 @@ extern int change_huge_pmd(struct vm_area_struct *vma, 
> pmd_t *pmd,
>                       int prot_numa);
>  int vmf_insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
>                       pmd_t *pmd, pfn_t pfn, bool write);
> +#ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
>  int vmf_insert_pfn_pud(struct vm_area_struct *vma, unsigned long addr,
>                       pud_t *pud, pfn_t pfn, bool write);
> +#endif
>  enum transparent_hugepage_flag {
>       TRANSPARENT_HUGEPAGE_FLAG,
>       TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG,
> -- 
> 2.1.4
> 

-- 
Michal Hocko
SUSE Labs

Reply via email to