Message ID | 20231121120310.696335-1-agordeev@linux.ibm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | pgtable: do not expose _refcount field via ptdesc | expand |
On Tue, Nov 21, 2023 at 01:03:10PM +0100, Alexander Gordeev wrote: > Since commit d08d4e7cd6bf ("s390/mm: use full 4KB page for 2KB PTE") > _refcount field is not used for fragmented page tracking on s390 and > there is no other code left that accesses this field explicitly. > > Suggested-by: Heiko Carstens <hca@linux.ibm.com> > Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> > --- > include/linux/mm_types.h | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h > index 957ce38768b2..0330e0ddca11 100644 > --- a/include/linux/mm_types.h > +++ b/include/linux/mm_types.h > @@ -401,11 +401,10 @@ FOLIO_MATCH(compound_head, _head_2a); > * @pmd_huge_pte: Protected by ptdesc->ptl, used for THPs. > * @__page_mapping: Aliases with page->mapping. Unused for page tables. > * @pt_mm: Used for x86 pgds. > - * @pt_frag_refcount: For fragmented page table tracking. Powerpc and s390 only. > + * @pt_frag_refcount: For fragmented page table tracking. Powerpc only. > * @_pt_pad_2: Padding to ensure proper alignment. > * @ptl: Lock for the page table. > * @__page_type: Same as page->page_type. Unused for page tables. > - * @_refcount: Same as page refcount. Used for s390 page tables. I would guess that you need to describe _pt_pad_3 instead here, just like it is done for the other two pad members. And most likely you need to add Andrew to "To:" so he doesn't miss this :)
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 957ce38768b2..0330e0ddca11 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -401,11 +401,10 @@ FOLIO_MATCH(compound_head, _head_2a); * @pmd_huge_pte: Protected by ptdesc->ptl, used for THPs. * @__page_mapping: Aliases with page->mapping. Unused for page tables. * @pt_mm: Used for x86 pgds. - * @pt_frag_refcount: For fragmented page table tracking. Powerpc and s390 only. + * @pt_frag_refcount: For fragmented page table tracking. Powerpc only. * @_pt_pad_2: Padding to ensure proper alignment. * @ptl: Lock for the page table. * @__page_type: Same as page->page_type. Unused for page tables. - * @_refcount: Same as page refcount. Used for s390 page tables. * @pt_memcg_data: Memcg data. Tracked for page tables here. * * This struct overlays struct page for now. Do not modify without a good @@ -438,7 +437,7 @@ struct ptdesc { #endif }; unsigned int __page_type; - atomic_t _refcount; + unsigned int _pt_pad_3; #ifdef CONFIG_MEMCG unsigned long pt_memcg_data; #endif @@ -452,7 +451,6 @@ TABLE_MATCH(compound_head, _pt_pad_1); TABLE_MATCH(mapping, __page_mapping); TABLE_MATCH(rcu_head, pt_rcu_head); TABLE_MATCH(page_type, __page_type); -TABLE_MATCH(_refcount, _refcount); #ifdef CONFIG_MEMCG TABLE_MATCH(memcg_data, pt_memcg_data); #endif
Since commit d08d4e7cd6bf ("s390/mm: use full 4KB page for 2KB PTE") _refcount field is not used for fragmented page tracking on s390 and there is no other code left that accesses this field explicitly. Suggested-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> --- include/linux/mm_types.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)