lkml.org 
[lkml]   [2021]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v12 01/33] mm: Convert get_page_unless_zero() to return bool
    Date
    atomic_add_unless() returns bool, so remove the widening casts to int
    in page_ref_add_unless() and get_page_unless_zero(). This causes gcc
    to produce slightly larger code in isolate_migratepages_block(), but
    it's not clear that it's worse code. Net +19 bytes of text.

    Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
    ---
    include/linux/mm.h | 2 +-
    include/linux/page_ref.h | 4 ++--
    2 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/include/linux/mm.h b/include/linux/mm.h
    index 2c0612209ab1..cc08ec4329b8 100644
    --- a/include/linux/mm.h
    +++ b/include/linux/mm.h
    @@ -757,7 +757,7 @@ static inline int put_page_testzero(struct page *page)
    * This can be called when MMU is off so it must not access
    * any of the virtual mappings.
    */
    -static inline int get_page_unless_zero(struct page *page)
    +static inline bool get_page_unless_zero(struct page *page)
    {
    return page_ref_add_unless(page, 1, 0);
    }
    diff --git a/include/linux/page_ref.h b/include/linux/page_ref.h
    index 7ad46f45df39..3a799de8ad52 100644
    --- a/include/linux/page_ref.h
    +++ b/include/linux/page_ref.h
    @@ -161,9 +161,9 @@ static inline int page_ref_dec_return(struct page *page)
    return ret;
    }

    -static inline int page_ref_add_unless(struct page *page, int nr, int u)
    +static inline bool page_ref_add_unless(struct page *page, int nr, int u)
    {
    - int ret = atomic_add_unless(&page->_refcount, nr, u);
    + bool ret = atomic_add_unless(&page->_refcount, nr, u);

    if (page_ref_tracepoint_active(page_ref_mod_unless))
    __page_ref_mod_unless(page, nr, ret);
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-06-22 13:44    [W:4.161 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site