mm: remove page_cpupid_xchg_last()
Since all calls use folio_xchg_last_cpupid(), remove page_cpupid_xchg_last(). Link: https://lkml.kernel.org/r/20231018140806.2783514-20-wangkefeng.wang@huawei.com Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: David Hildenbrand <david@redhat.com> Cc: Huang Ying <ying.huang@intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
c2c3b51480
commit
8f0f4788b1
@ -1696,9 +1696,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)
|
||||
@ -1715,7 +1715,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)
|
||||
{
|
||||
@ -1727,8 +1727,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;
|
||||
}
|
||||
|
||||
@ -1742,9 +1742,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)
|
||||
@ -1796,11 +1796,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)
|
||||
|
||||
/*
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user