Re: Bloat caused by unnecessary calls to compound_head()?

From: Eric Biggers
Date: Thu Mar 31 2016 - 21:33:36 EST


On Sun, Mar 27, 2016 at 10:46:49PM +0300, Kirill A. Shutemov wrote:
> The idea is to introduce new type to indicate head page --
> 'struct head_page' -- it's compatible with struct page on memory layout,
> but distinct from C point of view. compound_head() should return pointer
> of that type. For the proof-of-concept I've introduced new helper --
> compound_head_t().
>

Well, it's good for optimizing the specific case of mark_page_accessed(). I'm
more worried about the general level of bloat, since the Page* macros are used
in so many places. And generating page-flags.h with a script is something to be
avoided if at all possible.

I wasn't following the discussion around the original page-flags patchset. Can
you point me to a discussion of the benefits of the page "policy" checks --- why
are they suddenly needed when they weren't before? Or any helpful comments in
the code?