Patch series "mm: lru related cleanups" starting at commit 42895ea73bcd ("mm/vmscan.c: use add_page_to_lru_list()") bloated vmlinux by 1777 bytes, according to: https://lore.kernel.org/linux-mm/85b3e8f2-5982-3329-c20d-cf062b8da71e@xxxxxxx/ It turned out many places inline Page{Active,Unevictable} which in turn include compound_head(). >From the v1: Removing compound_head() entirely from Page{Active,Unevictable} may not be the best option (for the moment) because there may be other cases that need compound_head(). In addition to picking a couple pieces of low-hanging fruit, this v2 removes compound_head() completely from Page{Active,Unevictable}. bloat-o-meter result before and after the series: add/remove: 0/0 grow/shrink: 6/92 up/down: 697/-7656 (-6959) Yu Zhao (3): mm: bypass compound_head() for PF_NO_TAIL when enforce=1 mm: use PF_NO_TAIL for PG_lru mm: use PF_ONLY_HEAD for PG_active and PG_unevictable fs/proc/task_mmu.c | 3 ++- include/linux/page-flags.h | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) -- 2.30.1.766.gb4fecdf3b7-goog