Re: Where is PageHead defined in v5.0?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 27, 2019 at 4:51 PM Tobin C. Harding <me@xxxxxxxx> 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@xxxxxxxxxxxxxxxxx
> 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)

See, it is simple :)

Thanks,
Igor

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux