* [PATCH 0/2] mm: drop "sub" prefix from various places @ 2026-06-23 12:57 Dev Jain 2026-06-23 12:57 ` [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap Dev Jain 2026-06-23 12:57 ` [PATCH 2/2] mm/mprotect: drop 'sub' from batching context Dev Jain 0 siblings, 2 replies; 9+ messages in thread From: Dev Jain @ 2026-06-23 12:57 UTC (permalink / raw) To: akpm, chrisl, kasong, liam, ljs Cc: Dev Jain, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david Patch 1 converts subpage->page : folios have pages, not subpages. Patch 2 drops "sub" from a function and a variable because the context is clear enough. --- These patches were originally in: https://lore.kernel.org/all/20260526063635.61721-1-dev.jain@arm.com/ as patches 6 and 11. Split out for easing review. Applies on mm-unstable (81652c5a65d4). Dev Jain (2): mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap mm/mprotect: drop 'sub' from batching context mm/mprotect.c | 12 ++++++------ mm/swap.h | 4 ++-- mm/swapfile.c | 16 ++++++++-------- 3 files changed, 16 insertions(+), 16 deletions(-) -- 2.43.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap 2026-06-23 12:57 [PATCH 0/2] mm: drop "sub" prefix from various places Dev Jain @ 2026-06-23 12:57 ` Dev Jain 2026-06-23 14:28 ` Lance Yang ` (2 more replies) 2026-06-23 12:57 ` [PATCH 2/2] mm/mprotect: drop 'sub' from batching context Dev Jain 1 sibling, 3 replies; 9+ messages in thread From: Dev Jain @ 2026-06-23 12:57 UTC (permalink / raw) To: akpm, chrisl, kasong, liam, ljs Cc: Dev Jain, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david Folios have pages, not subpages. Rename 'subpage' parameters to 'page'. Acked-by: David Hildenbrand (Arm) <david@kernel.org> Signed-off-by: Dev Jain <dev.jain@arm.com> --- mm/swap.h | 4 ++-- mm/swapfile.c | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mm/swap.h b/mm/swap.h index 77d2d14eda421..44ab8e1e595b0 100644 --- a/mm/swap.h +++ b/mm/swap.h @@ -230,8 +230,8 @@ extern int swap_retry_table_alloc(swp_entry_t entry, gfp_t gfp); * folio_put_swap(): does the opposite thing of folio_dup_swap(). */ int folio_alloc_swap(struct folio *folio); -int folio_dup_swap(struct folio *folio, struct page *subpage); -void folio_put_swap(struct folio *folio, struct page *subpage); +int folio_dup_swap(struct folio *folio, struct page *page); +void folio_put_swap(struct folio *folio, struct page *page); /* For internal use */ extern void __swap_cluster_free_entries(struct swap_info_struct *si, diff --git a/mm/swapfile.c b/mm/swapfile.c index 78b49b0658add..a602e5820513a 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1781,7 +1781,7 @@ int folio_alloc_swap(struct folio *folio) /** * folio_dup_swap() - Increase swap count of swap entries of a folio. * @folio: folio with swap entries bounded. - * @subpage: if not NULL, only increase the swap count of this subpage. + * @page: if not NULL, only increase the swap count of this page. * * Typically called when the folio is unmapped and have its swap entry to * take its place: Swap entries allocated to a folio has count == 0 and pinned @@ -1795,7 +1795,7 @@ int folio_alloc_swap(struct folio *folio) * swap_put_entries_direct on its swap entry before this helper returns, or * the swap count may underflow. */ -int folio_dup_swap(struct folio *folio, struct page *subpage) +int folio_dup_swap(struct folio *folio, struct page *page) { swp_entry_t entry = folio->swap; unsigned long nr_pages = folio_nr_pages(folio); @@ -1803,8 +1803,8 @@ int folio_dup_swap(struct folio *folio, struct page *subpage) VM_WARN_ON_FOLIO(!folio_test_locked(folio), folio); VM_WARN_ON_FOLIO(!folio_test_swapcache(folio), folio); - if (subpage) { - entry.val += folio_page_idx(folio, subpage); + if (page) { + entry.val += folio_page_idx(folio, page); nr_pages = 1; } @@ -1815,13 +1815,13 @@ int folio_dup_swap(struct folio *folio, struct page *subpage) /** * folio_put_swap() - Decrease swap count of swap entries of a folio. * @folio: folio with swap entries bounded, must be in swap cache and locked. - * @subpage: if not NULL, only decrease the swap count of this subpage. + * @page: if not NULL, only decrease the swap count of this page. * * This won't free the swap slots even if swap count drops to zero, they are * still pinned by the swap cache. User may call folio_free_swap to free them. * Context: Caller must ensure the folio is locked and in the swap cache. */ -void folio_put_swap(struct folio *folio, struct page *subpage) +void folio_put_swap(struct folio *folio, struct page *page) { swp_entry_t entry = folio->swap; unsigned long nr_pages = folio_nr_pages(folio); @@ -1830,8 +1830,8 @@ void folio_put_swap(struct folio *folio, struct page *subpage) VM_WARN_ON_FOLIO(!folio_test_locked(folio), folio); VM_WARN_ON_FOLIO(!folio_test_swapcache(folio), folio); - if (subpage) { - entry.val += folio_page_idx(folio, subpage); + if (page) { + entry.val += folio_page_idx(folio, page); nr_pages = 1; } -- 2.43.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap 2026-06-23 12:57 ` [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap Dev Jain @ 2026-06-23 14:28 ` Lance Yang 2026-06-23 15:38 ` Pedro Falcato 2026-06-23 16:45 ` Lorenzo Stoakes 2 siblings, 0 replies; 9+ messages in thread From: Lance Yang @ 2026-06-23 14:28 UTC (permalink / raw) To: dev.jain Cc: akpm, chrisl, kasong, liam, ljs, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david, Lance Yang On Tue, Jun 23, 2026 at 12:57:21PM +0000, Dev Jain wrote: >Folios have pages, not subpages. Rename 'subpage' parameters to 'page'. > >Acked-by: David Hildenbrand (Arm) <david@kernel.org> >Signed-off-by: Dev Jain <dev.jain@arm.com> >--- Just rename cleanup. Didn't see anything off, feel free to add: Reviewed-by: Lance Yang <lance.yang@linux.dev> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap 2026-06-23 12:57 ` [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap Dev Jain 2026-06-23 14:28 ` Lance Yang @ 2026-06-23 15:38 ` Pedro Falcato 2026-06-23 16:45 ` Lorenzo Stoakes 2 siblings, 0 replies; 9+ messages in thread From: Pedro Falcato @ 2026-06-23 15:38 UTC (permalink / raw) To: Dev Jain Cc: akpm, chrisl, kasong, liam, ljs, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, ryan.roberts, anshuman.khandual, david On Tue, Jun 23, 2026 at 12:57:21PM +0000, Dev Jain wrote: > Folios have pages, not subpages. Rename 'subpage' parameters to 'page'. > > Acked-by: David Hildenbrand (Arm) <david@kernel.org> > Signed-off-by: Dev Jain <dev.jain@arm.com> Acked-by: Pedro Falcato <pfalcato@suse.de> -- Pedro ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap 2026-06-23 12:57 ` [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap Dev Jain 2026-06-23 14:28 ` Lance Yang 2026-06-23 15:38 ` Pedro Falcato @ 2026-06-23 16:45 ` Lorenzo Stoakes 2 siblings, 0 replies; 9+ messages in thread From: Lorenzo Stoakes @ 2026-06-23 16:45 UTC (permalink / raw) To: Dev Jain Cc: akpm, chrisl, kasong, liam, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david On Tue, Jun 23, 2026 at 12:57:21PM +0000, Dev Jain wrote: > Folios have pages, not subpages. Rename 'subpage' parameters to 'page'. > > Acked-by: David Hildenbrand (Arm) <david@kernel.org> > Signed-off-by: Dev Jain <dev.jain@arm.com> This subpatch of your series LGTM! ;) so: Reviewed-by: Lorenzo Stoakes <ljs@kernel.org> Thanks, Lorenzo > --- > mm/swap.h | 4 ++-- > mm/swapfile.c | 16 ++++++++-------- > 2 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/mm/swap.h b/mm/swap.h > index 77d2d14eda421..44ab8e1e595b0 100644 > --- a/mm/swap.h > +++ b/mm/swap.h > @@ -230,8 +230,8 @@ extern int swap_retry_table_alloc(swp_entry_t entry, gfp_t gfp); > * folio_put_swap(): does the opposite thing of folio_dup_swap(). > */ > int folio_alloc_swap(struct folio *folio); > -int folio_dup_swap(struct folio *folio, struct page *subpage); > -void folio_put_swap(struct folio *folio, struct page *subpage); > +int folio_dup_swap(struct folio *folio, struct page *page); > +void folio_put_swap(struct folio *folio, struct page *page); > > /* For internal use */ > extern void __swap_cluster_free_entries(struct swap_info_struct *si, > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 78b49b0658add..a602e5820513a 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1781,7 +1781,7 @@ int folio_alloc_swap(struct folio *folio) > /** > * folio_dup_swap() - Increase swap count of swap entries of a folio. > * @folio: folio with swap entries bounded. > - * @subpage: if not NULL, only increase the swap count of this subpage. > + * @page: if not NULL, only increase the swap count of this page. > * > * Typically called when the folio is unmapped and have its swap entry to > * take its place: Swap entries allocated to a folio has count == 0 and pinned > @@ -1795,7 +1795,7 @@ int folio_alloc_swap(struct folio *folio) > * swap_put_entries_direct on its swap entry before this helper returns, or > * the swap count may underflow. > */ > -int folio_dup_swap(struct folio *folio, struct page *subpage) > +int folio_dup_swap(struct folio *folio, struct page *page) > { > swp_entry_t entry = folio->swap; > unsigned long nr_pages = folio_nr_pages(folio); > @@ -1803,8 +1803,8 @@ int folio_dup_swap(struct folio *folio, struct page *subpage) > VM_WARN_ON_FOLIO(!folio_test_locked(folio), folio); > VM_WARN_ON_FOLIO(!folio_test_swapcache(folio), folio); > > - if (subpage) { > - entry.val += folio_page_idx(folio, subpage); > + if (page) { > + entry.val += folio_page_idx(folio, page); > nr_pages = 1; > } > > @@ -1815,13 +1815,13 @@ int folio_dup_swap(struct folio *folio, struct page *subpage) > /** > * folio_put_swap() - Decrease swap count of swap entries of a folio. > * @folio: folio with swap entries bounded, must be in swap cache and locked. > - * @subpage: if not NULL, only decrease the swap count of this subpage. > + * @page: if not NULL, only decrease the swap count of this page. > * > * This won't free the swap slots even if swap count drops to zero, they are > * still pinned by the swap cache. User may call folio_free_swap to free them. > * Context: Caller must ensure the folio is locked and in the swap cache. > */ > -void folio_put_swap(struct folio *folio, struct page *subpage) > +void folio_put_swap(struct folio *folio, struct page *page) > { > swp_entry_t entry = folio->swap; > unsigned long nr_pages = folio_nr_pages(folio); > @@ -1830,8 +1830,8 @@ void folio_put_swap(struct folio *folio, struct page *subpage) > VM_WARN_ON_FOLIO(!folio_test_locked(folio), folio); > VM_WARN_ON_FOLIO(!folio_test_swapcache(folio), folio); > > - if (subpage) { > - entry.val += folio_page_idx(folio, subpage); > + if (page) { > + entry.val += folio_page_idx(folio, page); > nr_pages = 1; > } > > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] mm/mprotect: drop 'sub' from batching context 2026-06-23 12:57 [PATCH 0/2] mm: drop "sub" prefix from various places Dev Jain 2026-06-23 12:57 ` [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap Dev Jain @ 2026-06-23 12:57 ` Dev Jain 2026-06-23 14:34 ` Lance Yang ` (2 more replies) 1 sibling, 3 replies; 9+ messages in thread From: Dev Jain @ 2026-06-23 12:57 UTC (permalink / raw) To: akpm, chrisl, kasong, liam, ljs Cc: Dev Jain, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david Shorten the name of page_anon_exclusive_sub_batch by dropping the "sub-batch" context - the function itself doesn't need this context. Similarly, drop "sub" from sub_batch_idx, it is unnecessary and the usage is clear enough. Signed-off-by: Dev Jain <dev.jain@arm.com> --- mm/mprotect.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/mprotect.c b/mm/mprotect.c index 9cbf932b028cf..c0f5ab74bee23 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -143,7 +143,7 @@ static __always_inline void prot_commit_flush_ptes(struct vm_area_struct *vma, * !PageAnonExclusive() pages, starting from start_idx. Caller must enforce * that the ptes point to consecutive pages of the same anon large folio. */ -static __always_inline int page_anon_exclusive_sub_batch(int start_idx, int max_len, +static __always_inline int page_anon_exclusive_batch(int start_idx, int max_len, struct page *first_page, bool expected_anon_exclusive) { int idx; @@ -174,16 +174,16 @@ static __always_inline void commit_anon_folio_batch(struct vm_area_struct *vma, pte_t oldpte, pte_t ptent, int nr_ptes, struct mmu_gather *tlb) { bool expected_anon_exclusive; - int sub_batch_idx = 0; + int batch_idx = 0; int len; while (nr_ptes) { - expected_anon_exclusive = PageAnonExclusive(first_page + sub_batch_idx); - len = page_anon_exclusive_sub_batch(sub_batch_idx, nr_ptes, + expected_anon_exclusive = PageAnonExclusive(first_page + batch_idx); + len = page_anon_exclusive_batch(batch_idx, nr_ptes, first_page, expected_anon_exclusive); prot_commit_flush_ptes(vma, addr, ptep, oldpte, ptent, len, - sub_batch_idx, expected_anon_exclusive, tlb); - sub_batch_idx += len; + batch_idx, expected_anon_exclusive, tlb); + batch_idx += len; nr_ptes -= len; } } -- 2.43.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] mm/mprotect: drop 'sub' from batching context 2026-06-23 12:57 ` [PATCH 2/2] mm/mprotect: drop 'sub' from batching context Dev Jain @ 2026-06-23 14:34 ` Lance Yang 2026-06-23 15:37 ` Pedro Falcato 2026-06-23 16:47 ` Lorenzo Stoakes 2 siblings, 0 replies; 9+ messages in thread From: Lance Yang @ 2026-06-23 14:34 UTC (permalink / raw) To: dev.jain Cc: akpm, chrisl, kasong, liam, ljs, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david, Lance Yang On Tue, Jun 23, 2026 at 12:57:22PM +0000, Dev Jain wrote: >Shorten the name of page_anon_exclusive_sub_batch by dropping the >"sub-batch" context - the function itself doesn't need this context. >Similarly, drop "sub" from sub_batch_idx, it is unnecessary and the >usage is clear enough. > >Signed-off-by: Dev Jain <dev.jain@arm.com> >--- Rename-only cleanup. Nothing jumped out, feel free to add: Reviewed-by: Lance Yang <lance.yang@linux.dev> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] mm/mprotect: drop 'sub' from batching context 2026-06-23 12:57 ` [PATCH 2/2] mm/mprotect: drop 'sub' from batching context Dev Jain 2026-06-23 14:34 ` Lance Yang @ 2026-06-23 15:37 ` Pedro Falcato 2026-06-23 16:47 ` Lorenzo Stoakes 2 siblings, 0 replies; 9+ messages in thread From: Pedro Falcato @ 2026-06-23 15:37 UTC (permalink / raw) To: Dev Jain Cc: akpm, chrisl, kasong, liam, ljs, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, ryan.roberts, anshuman.khandual, david On Tue, Jun 23, 2026 at 12:57:22PM +0000, Dev Jain wrote: > Shorten the name of page_anon_exclusive_sub_batch by dropping the > "sub-batch" context - the function itself doesn't need this context. > Similarly, drop "sub" from sub_batch_idx, it is unnecessary and the > usage is clear enough. > > Signed-off-by: Dev Jain <dev.jain@arm.com> Reviewed-by: Pedro Falcato <pfalcato@suse.de> This is less confusing, thanks! -- Pedro ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] mm/mprotect: drop 'sub' from batching context 2026-06-23 12:57 ` [PATCH 2/2] mm/mprotect: drop 'sub' from batching context Dev Jain 2026-06-23 14:34 ` Lance Yang 2026-06-23 15:37 ` Pedro Falcato @ 2026-06-23 16:47 ` Lorenzo Stoakes 2 siblings, 0 replies; 9+ messages in thread From: Lorenzo Stoakes @ 2026-06-23 16:47 UTC (permalink / raw) To: Dev Jain Cc: akpm, chrisl, kasong, liam, shikemeng, nphamcs, baoquan.he, baohua, youngjun.park, linux-mm, linux-kernel, vbabka, jannh, pfalcato, ryan.roberts, anshuman.khandual, david On Tue, Jun 23, 2026 at 12:57:22PM +0000, Dev Jain wrote: > Shorten the name of page_anon_exclusive_sub_batch by dropping the > "sub-batch" context - the function itself doesn't need this context. > Similarly, drop "sub" from sub_batch_idx, it is unnecessary and the > usage is clear enough. > > Signed-off-by: Dev Jain <dev.jain@arm.com> LGTM, so: Reviewed-by: Lorenzo Stoakes <ljs@kernel.org> > --- > mm/mprotect.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/mm/mprotect.c b/mm/mprotect.c > index 9cbf932b028cf..c0f5ab74bee23 100644 > --- a/mm/mprotect.c > +++ b/mm/mprotect.c > @@ -143,7 +143,7 @@ static __always_inline void prot_commit_flush_ptes(struct vm_area_struct *vma, > * !PageAnonExclusive() pages, starting from start_idx. Caller must enforce > * that the ptes point to consecutive pages of the same anon large folio. > */ > -static __always_inline int page_anon_exclusive_sub_batch(int start_idx, int max_len, > +static __always_inline int page_anon_exclusive_batch(int start_idx, int max_len, > struct page *first_page, bool expected_anon_exclusive) > { > int idx; > @@ -174,16 +174,16 @@ static __always_inline void commit_anon_folio_batch(struct vm_area_struct *vma, > pte_t oldpte, pte_t ptent, int nr_ptes, struct mmu_gather *tlb) > { > bool expected_anon_exclusive; > - int sub_batch_idx = 0; > + int batch_idx = 0; > int len; > > while (nr_ptes) { > - expected_anon_exclusive = PageAnonExclusive(first_page + sub_batch_idx); > - len = page_anon_exclusive_sub_batch(sub_batch_idx, nr_ptes, > + expected_anon_exclusive = PageAnonExclusive(first_page + batch_idx); > + len = page_anon_exclusive_batch(batch_idx, nr_ptes, > first_page, expected_anon_exclusive); > prot_commit_flush_ptes(vma, addr, ptep, oldpte, ptent, len, > - sub_batch_idx, expected_anon_exclusive, tlb); > - sub_batch_idx += len; > + batch_idx, expected_anon_exclusive, tlb); > + batch_idx += len; > nr_ptes -= len; > } > } > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-06-23 16:47 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-06-23 12:57 [PATCH 0/2] mm: drop "sub" prefix from various places Dev Jain 2026-06-23 12:57 ` [PATCH 1/2] mm/swap: rename subpage->page in folio_dup_swap/folio_put_swap Dev Jain 2026-06-23 14:28 ` Lance Yang 2026-06-23 15:38 ` Pedro Falcato 2026-06-23 16:45 ` Lorenzo Stoakes 2026-06-23 12:57 ` [PATCH 2/2] mm/mprotect: drop 'sub' from batching context Dev Jain 2026-06-23 14:34 ` Lance Yang 2026-06-23 15:37 ` Pedro Falcato 2026-06-23 16:47 ` Lorenzo Stoakes
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox