Where is PageHead defined in v5.0?
Tobin C. Harding
me at tobin.cc
Thu Mar 28 00:43:12 EDT 2019
On Wed, Mar 27, 2019 at 05:23:05PM -0700, Igor Pylypiv wrote:
> On Wed, Mar 27, 2019 at 4:51 PM Tobin C. Harding <me at tobin.cc> wrote:
> >
> > On Wed, Mar 27, 2019 at 07:34:58PM -0500, Jesse Simpson wrote:
> > > Hi Tobin,
> > >
> > > I took a look on my system, and I wasn't able to find where PageHead is
> > > defined either. I used grep to search for it as well as vim with ctags.
> > > Maybe it's hidden away in some built-in.a or binary file.
> >
> > Cheers Jesse, confirmation that I've not gone mad - that's a win.
> >
> > I'll repost this to mm-linux tomorrow if no one on here knows.
> >
> > thanks,
> > Tobin.
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> Hi Tobin and Jesse,
>
> Neither grep nor ctags are going to help you here :)
>
> PageHead is implicitly defined using macros __PAGEFLAG:
> __PAGEFLAG(Head, head, PF_ANY) CLEARPAGEFLAG(Head, head, PF_ANY)
> (https://elixir.bootlin.com/linux/v5.0.5/source/include/linux/page-flags.h#L517)
>
> __PAGEFLAG defines TESTPAGEFLAG:
> (https://elixir.bootlin.com/linux/v5.0.5/source/include/linux/page-flags.h#L248)
>
> and TESTPAGEFLAG defines PageHead:
> #define TESTPAGEFLAG(uname, lname, policy) \
> static __always_inline int Page##uname(struct page *page)
> (https://elixir.bootlin.com/linux/v5.0.5/source/include/linux/page-flags.h#L215)
Thanks Igor.
> See, it is simple :)
hmmm macros - no further comment needed :)
thanks
Tobin
More information about the Kernelnewbies
mailing list