On 2018-10-11 10:24 a.m., Logan Gunthorpe wrote: > > > On 2018-10-11 7:37 a.m., Christoph Hellwig wrote: >>> +/* >>> + * Log2 of the upper bound of the size of a struct page. Used for sizing >>> + * the vmemmap region only, does not affect actual memory footprint. >>> + * We don't use sizeof(struct page) directly since taking its size here >>> + * requires its definition to be available at this point in the inclusion >>> + * chain, and it may not be a power of 2 in the first place. >>> + */ >>> +#define STRUCT_PAGE_MAX_SHIFT 6 >> >> I know this is copied from arm64, but wouldn't this be a good time >> to move this next to the struct page defintion? Ok, I spoke too soon... Having this define next to the struct page definition works great for riscv. However, making that happen in arm64 seems to be a nightmare. The include chain in arm64 is tangled up so much that including mm_types where this is needed seems to be extremely difficult. Unless you have any ideas, this might not be possible. Logan