Messages in this thread |  | | From | Muchun Song <> | Date | Mon, 23 Nov 2020 11:14:59 +0800 | Subject | Re: [External] Re: [PATCH v5 21/21] mm/hugetlb: Disable freeing vmemmap if struct page size is not power of two |
| |
On Mon, Nov 23, 2020 at 3:00 AM Matthew Wilcox <willy@infradead.org> wrote: > > On Fri, Nov 20, 2020 at 09:25:52AM +0100, Michal Hocko wrote: > > On Fri 20-11-20 14:43:25, Muchun Song wrote: > > > We only can free the unused vmemmap to the buddy system when the > > > size of struct page is a power of two. > > > > Can we actually have !power_of_2 struct pages? > > Yes. On x86-64, if you don't enable MEMCG, it's 56 bytes. On SPARC64, > if you do enable MEMCG, it's 72 bytes. On 32-bit systems, it's > anything from 32-44 bytes, depending on MEMCG, WANT_PAGE_VIRTUAL and > LAST_CPUPID_NOT_IN_PAGE_FLAGS. >
On x86-64, even if you do not enable MEMCG, it's also 64 bytes. Because CONFIG_HAVE_ALIGNED_STRUCT_PAGE is defined if we use SLUB.
-- Yours, Muchun
|  |