Message ID | 20201220050340.849754-1-npiggin@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] mm: prefix page_cpupid_reset_last as non-atomic | expand |
Hi, Nicholas, On Sun, Dec 20, 2020 at 1:03 PM Nicholas Piggin <npiggin@gmail.com> wrote: > > Add a __ prefix to indicate that it should be used in non-atomic > situations (where the page is not subject to concurrent flags > access, following the pattern of the other page flags modifications). > > This prepares for an atomic version. > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > --- > include/linux/mm.h | 6 +++--- > mm/page_alloc.c | 4 ++-- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 855161080f18..5b3fc2c8fd8b 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1358,7 +1358,7 @@ static inline int page_cpupid_last(struct page *page) > { > return page->_last_cpupid; > } > -static inline void page_cpupid_reset_last(struct page *page) > +static inline void __page_cpupid_reset_last(struct page *page) > { > page->_last_cpupid = -1 & LAST_CPUPID_MASK; How about replace all these -1 & LAST_CPUPID_MASK and (1 << LAST_CPUPID_SHIFT) - 1) with LAST_CPUPID_MASK I think that can improve the code readability a little. Best Regards, Huang, Ying
diff --git a/include/linux/mm.h b/include/linux/mm.h index 855161080f18..5b3fc2c8fd8b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1358,7 +1358,7 @@ static inline int page_cpupid_last(struct page *page) { return page->_last_cpupid; } -static inline void page_cpupid_reset_last(struct page *page) +static inline void __page_cpupid_reset_last(struct page *page) { page->_last_cpupid = -1 & LAST_CPUPID_MASK; } @@ -1370,7 +1370,7 @@ static inline int page_cpupid_last(struct page *page) extern int page_cpupid_xchg_last(struct page *page, int cpupid); -static inline void page_cpupid_reset_last(struct page *page) +static inline void __page_cpupid_reset_last(struct page *page) { page->flags |= LAST_CPUPID_MASK << LAST_CPUPID_PGSHIFT; } @@ -1411,7 +1411,7 @@ static inline bool cpupid_pid_unset(int cpupid) return true; } -static inline void page_cpupid_reset_last(struct page *page) +static inline void __page_cpupid_reset_last(struct page *page) { } diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 3beeb8d722f3..ead28946f3ce 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1260,7 +1260,7 @@ static __always_inline bool free_pages_prepare(struct page *page, if (bad) return false; - page_cpupid_reset_last(page); + __page_cpupid_reset_last(page); page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; reset_page_owner(page, order); @@ -1453,7 +1453,7 @@ static void __meminit __init_single_page(struct page *page, unsigned long pfn, set_page_links(page, zone, nid, pfn); init_page_count(page); page_mapcount_reset(page); - page_cpupid_reset_last(page); + __page_cpupid_reset_last(page); page_kasan_tag_reset(page); INIT_LIST_HEAD(&page->lru);
Add a __ prefix to indicate that it should be used in non-atomic situations (where the page is not subject to concurrent flags access, following the pattern of the other page flags modifications). This prepares for an atomic version. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- include/linux/mm.h | 6 +++--- mm/page_alloc.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)