On 1/16/21 4:06 AM, Oscar Salvador wrote: > On Sat, Jan 16, 2021 at 04:24:16AM +0000, Matthew Wilcox wrote: >> and name these HPG_restore_reserve and HPG_migratable >> >> and generate the calls to hugetlb_set_page_flag etc from macros, eg: >> >> #define TESTHPAGEFLAG(uname, lname) \ >> static __always_inline bool HPage##uname(struct page *page) \ >> { return test_bit(HPG_##lname, &page->private); } >> ... >> #define HPAGEFLAG(uname, lname) \ >> TESTHPAGEFLAG(uname, lname) \ >> SETHPAGEFLAG(uname, lname) \ >> CLEARHPAGEFLAG(uname, lname) >> >> HPAGEFLAG(RestoreReserve, restore_reserve) >> HPAGEFLAG(Migratable, migratable) >> >> just to mirror page-flags.h more closely. > > That is on me. > I thought that given the low number of flags, we coud get away with: > > hugetlb_{set,test,clear}_page_flag(page, flag) > > and call it from the code. > But some of the flags need to be set/tested outside hugetlb code, so > it indeed looks nicer and more consistent to follow page-flags.h convention. > > Sorry for the noise. Thanks everyone! I was unsure about the best way to go for this. Will send out a new version in a few days using the page-flag style macros. -- Mike Kravetz