David Hildenbrand
2024-Nov-12 15:48 UTC
[RFC PATCH v1 06/10] mm/hugetlb: use separate folio->_hugetlb_list for hugetlb-internals
On 12.11.24 16:28, wang wei wrote:> Signed-off-by: wang wei <a929244872 at 163.com> > --- >> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h >> index 80fef38d9d64..365c73be0bb4 100644 >> --- a/include/linux/mm_types.h >> +++ b/include/linux/mm_types.h >> @@ -310,6 +310,7 @@ typedef struct { >> * @_hugetlb_cgroup: Do not use directly, use accessor in hugetlb_cgroup.h. >> * @_hugetlb_cgroup_rsvd: Do not use directly, use accessor in hugetlb_cgroup.h. >> * @_hugetlb_hwpoison: Do not use directly, call raw_hwp_list_head(). >> + * @_hugetlb_list: To be used in hugetlb core code only. >> * @_deferred_list: Folios to be split under memory pressure. >> * @_unused_slab_obj_exts: Placeholder to match obj_exts in struct slab. >> * >> @@ -397,6 +398,17 @@ struct folio { >> }; >> struct page __page_2; >> }; >> + union { >> + struct { >> + unsigned long _flags_3; >> + unsigned long _head_3; >> + /* public: */ >> + struct list_head _hugetlb_list; >> + /* private: the union with struct page is transitional */ >> + }; >> + struct page __page_3; >> + }; >> + >> }; >> > As far as I know, increasing the size of folio maybe decrease > the revenue of HVO, do you measure it?We should always have a writable page2, even with HVO. So nothing should change at this point. Thanks! -- Cheers, David / dhildenb