| From: Qi Zheng <zhengqi.arch@bytedance.com> |
| Subject: mm: pgtable: add missing pt_index to struct ptdesc |
| Date: Mon, 4 Mar 2024 19:07:19 +0800 |
| |
| In s390, the page->index field is used for gmap (see gmap_shadow_pgt()), |
| so add the corresponding pt_index to struct ptdesc and add a comment to |
| clarify this. |
| |
| Link: https://lkml.kernel.org/r/283624c2af45fb2090b41a6b1b5481bb0a45bad7.1709541697.git.zhengqi.arch@bytedance.com |
| Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com> |
| Cc: Christian Borntraeger <borntraeger@linux.ibm.com> |
| Cc: Claudio Imbrenda <imbrenda@linux.ibm.com> |
| Cc: David Hildenbrand <david@redhat.com> |
| Cc: Hugh Dickins <hughd@google.com> |
| Cc: Janosch Frank <frankja@linux.ibm.com> |
| Cc: Matthew Wilcox (Oracle) <willy@infradead.org> |
| Cc: Mike Rapoport (IBM) <rppt@kernel.org> |
| Cc: Muchun Song <muchun.song@linux.dev> |
| Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| include/linux/mm_types.h | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/include/linux/mm_types.h~mm-pgtable-add-missing-pt_index-to-struct-ptdesc |
| +++ a/include/linux/mm_types.h |
| @@ -425,6 +425,7 @@ FOLIO_MATCH(compound_head, _head_2a); |
| * @_pt_pad_1: Padding that aliases with page's compound head. |
| * @pmd_huge_pte: Protected by ptdesc->ptl, used for THPs. |
| * @__page_mapping: Aliases with page->mapping. Unused for page tables. |
| + * @pt_index: Used for s390 gmap. |
| * @pt_mm: Used for x86 pgds. |
| * @pt_frag_refcount: For fragmented page table tracking. Powerpc only. |
| * @_pt_pad_2: Padding to ensure proper alignment. |
| @@ -450,6 +451,7 @@ struct ptdesc { |
| unsigned long __page_mapping; |
| |
| union { |
| + pgoff_t pt_index; |
| struct mm_struct *pt_mm; |
| atomic_t pt_frag_refcount; |
| }; |
| @@ -475,6 +477,7 @@ TABLE_MATCH(flags, __page_flags); |
| TABLE_MATCH(compound_head, pt_list); |
| TABLE_MATCH(compound_head, _pt_pad_1); |
| TABLE_MATCH(mapping, __page_mapping); |
| +TABLE_MATCH(index, pt_index); |
| TABLE_MATCH(rcu_head, pt_rcu_head); |
| TABLE_MATCH(page_type, __page_type); |
| TABLE_MATCH(_refcount, __page_refcount); |
| _ |