From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> This series does not attempt any grand restructuring as I proposed last week. Instead, it cures the worst of the indentitis, fixes the documentation and reduces the ifdeffery. The only layout change is compound_dtor and compound_order are each reduced to one byte. At least, that's my intent. Here's a diff from pahole's output: --- old-struct-page 2017-12-16 09:58:09.653936791 -0500 +++ new-struct-page 2017-12-16 09:58:32.009832964 -0500 @@ -11,17 +11,15 @@ }; /* 16 8 */ union { long unsigned int counters; /* 8 */ + unsigned int active; /* 4 */ struct { - union { - atomic_t _mapcount; /* 4 */ - unsigned int active; /* 4 */ - struct { - unsigned int inuse:16; /* 24:16 4 */ - unsigned int objects:15; /* 24: 1 4 */ - unsigned int frozen:1; /* 24: 0 4 */ - }; /* 4 */ - int units; /* 4 */ - }; /* 24 4 */ + unsigned int inuse:16; /* 24:16 4 */ + unsigned int objects:15; /* 24: 1 4 */ + unsigned int frozen:1; /* 24: 0 4 */ + }; /* 4 */ + int units; /* 4 */ + struct { + atomic_t _mapcount; /* 24 4 */ atomic_t _refcount; /* 28 4 */ }; /* 8 */ }; /* 24 8 */ @@ -36,8 +34,8 @@ struct callback_head callback_head; /* 16 */ struct { long unsigned int compound_head; /* 32 8 */ - unsigned int compound_dtor; /* 40 4 */ - unsigned int compound_order; /* 44 4 */ + unsigned char compound_dtor; /* 40 1 */ + unsigned char compound_order; /* 41 1 */ }; /* 16 */ struct { long unsigned int __pad; /* 32 8 */ Matthew Wilcox (8): mm: Align struct page more aesthetically mm: De-indent struct page mm: Remove misleading alignment claims mm: Improve comment on page->mapping mm: Introduce _slub_counter_t mm: Store compound_dtor / compound_order as bytes mm: Document how to use struct page mm: Remove reference to PG_buddy include/linux/mm_types.h | 153 ++++++++++++++++++++++------------------------- 1 file changed, 73 insertions(+), 80 deletions(-) -- 2.15.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>