I think it has to - there's no way that asm/pgtable.h can includeasm/tlbflush.h because asm/tlbflush.h needs vm_area_struct, whichis defined by linux/mm.h, which includes asm/pgtable.h beforevm_area_struct is defined.