lkml.org 
[lkml]   [2023]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -next v2 19/19] mm: remove page_cpupid_xchg_last()
    Date
    Since all calls use folio_xchg_last_cpupid(), remove
    page_cpupid_xchg_last().

    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    ---
    include/linux/mm.h | 19 +++++++------------
    mm/mmzone.c | 6 +++---
    2 files changed, 10 insertions(+), 15 deletions(-)

    diff --git a/include/linux/mm.h b/include/linux/mm.h
    index 70eae2e7d5e5..287d52ace444 100644
    --- a/include/linux/mm.h
    +++ b/include/linux/mm.h
    @@ -1694,9 +1694,9 @@ static inline bool __cpupid_match_pid(pid_t task_pid, int cpupid)

    #define cpupid_match_pid(task, cpupid) __cpupid_match_pid(task->pid, cpupid)
    #ifdef LAST_CPUPID_NOT_IN_PAGE_FLAGS
    -static inline int page_cpupid_xchg_last(struct page *page, int cpupid)
    +static inline int folio_xchg_last_cpupid(struct folio *folio, int cpupid)
    {
    - return xchg(&page->_last_cpupid, cpupid & LAST_CPUPID_MASK);
    + return xchg(&folio->_last_cpupid, cpupid & LAST_CPUPID_MASK);
    }

    static inline int folio_last_cpupid(struct folio *folio)
    @@ -1713,7 +1713,7 @@ static inline int folio_last_cpupid(struct folio *folio)
    return (folio->flags >> LAST_CPUPID_PGSHIFT) & LAST_CPUPID_MASK;
    }

    -extern int page_cpupid_xchg_last(struct page *page, int cpupid);
    +int folio_xchg_last_cpupid(struct folio *folio, int cpupid);

    static inline void page_cpupid_reset_last(struct page *page)
    {
    @@ -1725,8 +1725,8 @@ static inline int folio_xchg_access_time(struct folio *folio, int time)
    {
    int last_time;

    - last_time = page_cpupid_xchg_last(&folio->page,
    - time >> PAGE_ACCESS_TIME_BUCKETS);
    + last_time = folio_xchg_last_cpupid(folio,
    + time >> PAGE_ACCESS_TIME_BUCKETS);
    return last_time << PAGE_ACCESS_TIME_BUCKETS;
    }

    @@ -1740,9 +1740,9 @@ static inline void vma_set_access_pid_bit(struct vm_area_struct *vma)
    }
    }
    #else /* !CONFIG_NUMA_BALANCING */
    -static inline int page_cpupid_xchg_last(struct page *page, int cpupid)
    +static inline int folio_xchg_last_cpupid(struct folio *folio, int cpupid)
    {
    - return page_to_nid(page); /* XXX */
    + return folio_nid(folio); /* XXX */
    }

    static inline int folio_xchg_access_time(struct folio *folio, int time)
    @@ -1794,11 +1794,6 @@ static inline void vma_set_access_pid_bit(struct vm_area_struct *vma)
    }
    #endif /* CONFIG_NUMA_BALANCING */

    -static inline int folio_xchg_last_cpupid(struct folio *folio, int cpupid)
    -{
    - return page_cpupid_xchg_last(&folio->page, cpupid);
    -}
    -
    #if defined(CONFIG_KASAN_SW_TAGS) || defined(CONFIG_KASAN_HW_TAGS)

    /*
    diff --git a/mm/mmzone.c b/mm/mmzone.c
    index 68e1511be12d..b594d3f268fe 100644
    --- a/mm/mmzone.c
    +++ b/mm/mmzone.c
    @@ -93,19 +93,19 @@ void lruvec_init(struct lruvec *lruvec)
    }

    #if defined(CONFIG_NUMA_BALANCING) && !defined(LAST_CPUPID_NOT_IN_PAGE_FLAGS)
    -int page_cpupid_xchg_last(struct page *page, int cpupid)
    +int folio_xchg_last_cpupid(struct folio *folio, int cpupid)
    {
    unsigned long old_flags, flags;
    int last_cpupid;

    - old_flags = READ_ONCE(page->flags);
    + old_flags = READ_ONCE(folio->flags);
    do {
    flags = old_flags;
    last_cpupid = (flags >> LAST_CPUPID_PGSHIFT) & LAST_CPUPID_MASK;

    flags &= ~(LAST_CPUPID_MASK << LAST_CPUPID_PGSHIFT);
    flags |= (cpupid & LAST_CPUPID_MASK) << LAST_CPUPID_PGSHIFT;
    - } while (unlikely(!try_cmpxchg(&page->flags, &old_flags, flags)));
    + } while (unlikely(!try_cmpxchg(&folio->flags, &old_flags, flags)));

    return last_cpupid;
    }
    --
    2.27.0
    \
     
     \ /
      Last update: 2023-10-13 11:00    [W:4.045 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site