On Tue, 10 Apr 2018, Matthew Wilcox wrote: > In my continued attempt to clean up struct page, I've got to the point > where it'd be really nice to get rid of 'counters'. I like the patch > below because it makes it clear when & where we're doing "weird" things > to access the various counters. Well sounds good. > struct { > unsigned long flags; > union { > struct { > struct address_space *mapping; > pgoff_t index; > }; > struct { > void *s_mem; > void *freelist; > }; > ... > }; > union { > atomic_t _mapcount; > unsigned int active; Is this aligned on a doubleword boundary? Maybe move the refcount below the flags field?