lkml.org 
[lkml]   [2018]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] mm, THP: vmf_insert_pfn_pud depends on CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
From
Date
On 11/01/2018 11:06, Michal Hocko wrote:
> 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?
It is not a big problem but surrounding the declaration with the #ifdef
makes the compilation of external modules fail with an "error: implicit
declaration of function vmf_insert_pfn_pud" if
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD is not defined. I think it is
cleaner than generating a .ko which would not load anyway.

>
>> Signed-off-by: Alexandre Ghiti <aghiti@upmem.com>
>> ---
>> 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
>>

\
 
 \ /
  Last update: 2018-01-14 23:23    [W:0.063 / U:0.932 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site