lkml.org 
[lkml]   [2021]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 1/5] hugetlb: use page.private for hugetlb specific page flags
    On Tue, Jan 19, 2021 at 05:30:45PM -0800, Mike Kravetz wrote:
    > + * Macros to create test, set and clear function definitions for
    > + * hugetlb specific page flags.
    > + */
    > +#ifdef CONFIG_HUGETLB_PAGE
    > +#define TESTHPAGEFLAG(uname, flname) \
    > +static inline int HPage##uname(struct page *page) \
    > + { BUILD_BUG_ON(sizeof_field(struct page, private) * \
    > + BITS_PER_BYTE < __NR_HPAGEFLAGS); \
    > + return test_bit(HPG_##flname, &(page->private)); }
    > +
    > +#define SETHPAGEFLAG(uname, flname) \
    > +static inline void SetHPage##uname(struct page *page) \
    > + { set_bit(HPG_##flname, &(page->private)); }
    > +
    > +#define CLEARHPAGEFLAG(uname, flname) \
    > +static inline void ClearHPage##uname(struct page *page) \
    > + { clear_bit(HPG_##flname, &(page->private)); }
    > +#else
    > +#define TESTHPAGEFLAG(uname, flname) \
    > +static inline int HPage##uname(struct page *page) \
    > + { BUILD_BUG_ON(sizeof_field(struct page, private) * \
    > + BITS_PER_BYTE < __NR_HPAGEFLAGS); \
    > + return 0 }

    You missed a ";" right there.

    I might be missing something, but I do not think we need a BUILD_BUG_ON there
    when CONFIG_HUGETLB_PAGE is not set?
    Actually, would make more sense to move the BUILD_BUG_ON from above to
    hugetlb_init?

    Other than that, looks good to me, and I think it is a great improvment
    towards readability and maintability.

    --
    Oscar Salvador
    SUSE L3

    \
     
     \ /
      Last update: 2021-01-20 11:42    [W:2.892 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site