Where is PageHead defined in v5.0?

Jesse Simpson jesse.simpson36 at gmail.com
Wed Mar 27 20:34:58 EDT 2019


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.

I'm looking on version 5.0.0.

Good luck,

Jesse Simpson


On Thu, Mar 28, 2019 at 09:26:15AM +1100, Tobin C. Harding wrote:
> Hi,
> 
> I cannot locate the definition of PageHead?  It seems to have
> disappeared after v4.0?  I can see it defined as a function here:
> 
> 	https://elixir.bootlin.com/linux/v4.0/source/include/linux/page-flags.h#L401
> 
> But on the mainline (v5.1-rc2) I get:
> 
> $ git grep ' PageHead'
> include/linux/page-flags.h:int PageHeadHuge(struct page *page);
> include/linux/page-flags.h:	return PageHead(page);
> include/linux/page-flags.h:	return PageHead(page) && test_bit(PG_double_map, &page[1].flags);
> mm/hugetlb.c:	return PageHead(page) && PagePrivate(&page[1]);
> mm/hugetlb.c: * PageHeadHuge() only returns true for hugetlbfs head page, but not for
> mm/hugetlb.c:int PageHeadHuge(struct page *page_head)
> 
> Clearly it is defined _somewhere_.   Anyone any idea what brain
> dysfunction I am having right now?
> 
> thanks,
> Tobin.
> 
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list