Re: [PATCH 1/7] mm/hugetlb: add folio support to hugetlb specific flag macros

From: Matthew Wilcox
Date: Mon Aug 29 2022 - 23:33:55 EST


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 ;-)

> + { 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?