lkml.org 
[lkml]   [2020]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] mm/pgtable: Move extern zero_pfn outside __HAVE_COLOR_ZERO_PAGE
    Date
    zero_pfn variable is required whether __HAVE_COLOR_ZERO_PAGE is enabled
    or not. Also it should not really be declared individually in all functions
    where it gets used. Just move the declaration outside, which also makes it
    available for other potential users.

    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: linux-arch@vger.kernel.org
    Cc: linux-mm@kvack.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
    ---
    Applies on 5.8-rc1. If the earlier motivation was to hide zero_pfn from
    general visibility, we could just put in a comment and update the commit
    message that my_zero_pfn() should always be used rather than zero_pfn.
    Build tested on many platforms and boot tested on arm64, x86.

    include/linux/pgtable.h | 5 ++---
    1 file changed, 2 insertions(+), 3 deletions(-)

    diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
    index 32b6c52d41b9..078e9864abca 100644
    --- a/include/linux/pgtable.h
    +++ b/include/linux/pgtable.h
    @@ -1020,10 +1020,11 @@ extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn,
    extern void untrack_pfn_moved(struct vm_area_struct *vma);
    #endif

    +extern unsigned long zero_pfn;
    +
    #ifdef __HAVE_COLOR_ZERO_PAGE
    static inline int is_zero_pfn(unsigned long pfn)
    {
    - extern unsigned long zero_pfn;
    unsigned long offset_from_zero_pfn = pfn - zero_pfn;
    return offset_from_zero_pfn <= (zero_page_mask >> PAGE_SHIFT);
    }
    @@ -1033,13 +1034,11 @@ static inline int is_zero_pfn(unsigned long pfn)
    #else
    static inline int is_zero_pfn(unsigned long pfn)
    {
    - extern unsigned long zero_pfn;
    return pfn == zero_pfn;
    }

    static inline unsigned long my_zero_pfn(unsigned long addr)
    {
    - extern unsigned long zero_pfn;
    return zero_pfn;
    }
    #endif
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-06-16 06:09    [W:3.975 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site