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

From: Kirill A. Shutemov
Date: Sun Mar 27 2016 - 16:44:42 EST


On Sun, Mar 27, 2016 at 04:33:04PM -0400, George Spelvin wrote:
> Could you just mark compound_head __pure? That would tell the compiler
> that it's safe to re-use the return value as long as there is no memory
> mutation in between.
>

Hm. It has some positive impact, but it's not dramatic. For instance,
mm/swap.o results:

add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-43 (-43)
function old new delta
__page_cache_release 319 298 -21
release_pages 722 700 -22

mark_page_accessed() problem was not fixed by that.

--
Kirill A. Shutemov