On Fri, 16 Jun 2017 16:15:23 -0400 Johannes Weiner <han...@cmpxchg.org> wrote:
> In any case, memcontrol.h doesn't/shouldn't need hardirq.h. When that > include is removed, the below patch compiles on: x86 allno, x86_64 > allno, and my regular x86_64 config: > > --- > Subject: mm-memcontrol-per-lruvec-stats-infrastructure-fix-4 Did you try x86_64 allmodconfig? I'm getting a mess: In file included from ./include/linux/mm.h:1032, from ./include/linux/highmem.h:7, from ./include/linux/bio.h:21, from ./include/linux/writeback.h:205, from ./include/linux/memcontrol.h:28, from ./include/linux/swap.h:8, from ./include/linux/suspend.h:4, from arch/x86/kernel/asm-offsets.c:12: ./include/linux/vmstat.h: In function 'lruvec_page_state': ./include/linux/vmstat.h:362: error: implicit declaration of function 'mem_cgroup_disabled' ./include/linux/vmstat.h:365: error: dereferencing pointer to incomplete type ./include/linux/vmstat.h:365: error: type defaults to 'int' in declaration of 'type name' ... Presumably because we have memcontrol.h indirectly including mm.h which includes vmstat.h (from a stupid place) and with this patch we have vmstat.h including memcontrol.h.