On 08/30/22 11:09, Sidhartha Kumar wrote: > > > On 8/29/22 8:33 PM, Matthew Wilcox wrote: > > On Mon, Aug 29, 2022 at 04:00:08PM -0700, Sidhartha Kumar wrote: > > > #define TESTHPAGEFLAG(uname, flname) \ > > > +static __always_inline \ > > > +int folio_test_hugetlb_##flname(struct folio *folio) \ > > One change I made was to have folio_test_foo() return bool instead of > > int. It helps the compiler really understand what's going on. Maybe > > some humans too ;-) > > > > I went with returning an int to stay consistent with the page version > of the macros which return an int. I'm fine with changing it to return > a bool. I believe the page test macros returned an int when I added the hugetlb specific versions. So, I just did the same. Since they are now bool, it makes sense to have these be consistent. -- Mike Kravetz > > > > + { void **private = &folio->private; \ > > > + return test_bit(HPG_##flname, (void *)((unsigned long)private)); \ > > I've made this tricky for you by making folio->private a void * instead > > of the unsigned long in page. Would this look better as ... > > > > { \ > > void *private = &folio->private; \ > > return test_bit(HPG_##flname, private); \ > > > > perhaps? > > Ya this looks much better and passes the tests, will add to v2. > > >