mbox series

[v2,0/3] page to folio conversion

Message ID cover.1706037337.git.rgoldwyn@suse.com (mailing list archive)
Headers show
Series page to folio conversion | expand

Message

Goldwyn Rodrigues Jan. 23, 2024, 7:28 p.m. UTC
From: Goldwyn Rodrigues <rgoldwyn@suse.com>

These patches transform some page usage to folio. All references and data
of page/folio is within the scope of the function changed.

Changes since v1:
Review comments - 
  * Added WARN_ON(folio_order(folio)) to ensure future development knows
    this code assumes folio_size(folio) == PAGE_SIZE
  * namespace restoration: prefix variable names with folio_
  * Line adjustments

Goldwyn Rodrigues (3):
  btrfs: page to folio conversion: prealloc_file_extent_cluster()
  btrfs: convert relocate_one_page() to relocate_one_folio()
  btrfs: page to folio conversion in put_file_data()

 fs/btrfs/relocation.c | 103 +++++++++++++++++++++---------------------
 fs/btrfs/send.c       |  44 +++++++++---------
 2 files changed, 75 insertions(+), 72 deletions(-)

Comments

David Sterba Jan. 29, 2024, 8:04 a.m. UTC | #1
On Tue, Jan 23, 2024 at 01:28:04PM -0600, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues <rgoldwyn@suse.com>
> 
> These patches transform some page usage to folio. All references and data
> of page/folio is within the scope of the function changed.
> 
> Changes since v1:
> Review comments - 
>   * Added WARN_ON(folio_order(folio)) to ensure future development knows
>     this code assumes folio_size(folio) == PAGE_SIZE
>   * namespace restoration: prefix variable names with folio_
>   * Line adjustments
> 
> Goldwyn Rodrigues (3):
>   btrfs: page to folio conversion: prealloc_file_extent_cluster()
>   btrfs: convert relocate_one_page() to relocate_one_folio()
>   btrfs: page to folio conversion in put_file_data()

The conversion looks straightforward like we've been doing elsewhere,
however the CI is still not in a shape to validate arm + subpage, I've
seen the hosts not pass with various sets of patches (removed potential
breakage and keeping potential fixes).

There are more folio conversions coming so I'd like to get them all in
so we can switch to the big folios eventually but without the CI
verification of subpage it's a bit risky.
Neal Gompa Jan. 31, 2024, 4:29 a.m. UTC | #2
On Mon, Jan 29, 2024 at 8:05 AM David Sterba <dsterba@suse.cz> wrote:
>
> On Tue, Jan 23, 2024 at 01:28:04PM -0600, Goldwyn Rodrigues wrote:
> > From: Goldwyn Rodrigues <rgoldwyn@suse.com>
> >
> > These patches transform some page usage to folio. All references and data
> > of page/folio is within the scope of the function changed.
> >
> > Changes since v1:
> > Review comments -
> >   * Added WARN_ON(folio_order(folio)) to ensure future development knows
> >     this code assumes folio_size(folio) == PAGE_SIZE
> >   * namespace restoration: prefix variable names with folio_
> >   * Line adjustments
> >
> > Goldwyn Rodrigues (3):
> >   btrfs: page to folio conversion: prealloc_file_extent_cluster()
> >   btrfs: convert relocate_one_page() to relocate_one_folio()
> >   btrfs: page to folio conversion in put_file_data()
>
> The conversion looks straightforward like we've been doing elsewhere,
> however the CI is still not in a shape to validate arm + subpage, I've
> seen the hosts not pass with various sets of patches (removed potential
> breakage and keeping potential fixes).
>
> There are more folio conversions coming so I'd like to get them all in
> so we can switch to the big folios eventually but without the CI
> verification of subpage it's a bit risky.
>

Wait, we don't? I thought Josef had specifically added Fedora Asahi
runners specifically for subpage testing[1]?

[1]: https://josefbacik.github.io/kernel/2023/07/18/btrfs-github-ci.html



--
真実はいつも一つ!/ Always, there's only one truth!
David Sterba Jan. 31, 2024, 6:13 a.m. UTC | #3
On Wed, Jan 31, 2024 at 04:29:36AM +0000, Neal Gompa wrote:
> On Mon, Jan 29, 2024 at 8:05 AM David Sterba <dsterba@suse.cz> wrote:
> >
> > On Tue, Jan 23, 2024 at 01:28:04PM -0600, Goldwyn Rodrigues wrote:
> > > From: Goldwyn Rodrigues <rgoldwyn@suse.com>
> > >
> > > These patches transform some page usage to folio. All references and data
> > > of page/folio is within the scope of the function changed.
> > >
> > > Changes since v1:
> > > Review comments -
> > >   * Added WARN_ON(folio_order(folio)) to ensure future development knows
> > >     this code assumes folio_size(folio) == PAGE_SIZE
> > >   * namespace restoration: prefix variable names with folio_
> > >   * Line adjustments
> > >
> > > Goldwyn Rodrigues (3):
> > >   btrfs: page to folio conversion: prealloc_file_extent_cluster()
> > >   btrfs: convert relocate_one_page() to relocate_one_folio()
> > >   btrfs: page to folio conversion in put_file_data()
> >
> > The conversion looks straightforward like we've been doing elsewhere,
> > however the CI is still not in a shape to validate arm + subpage, I've
> > seen the hosts not pass with various sets of patches (removed potential
> > breakage and keeping potential fixes).
> >
> > There are more folio conversions coming so I'd like to get them all in
> > so we can switch to the big folios eventually but without the CI
> > verification of subpage it's a bit risky.
> >
> 
> Wait, we don't? I thought Josef had specifically added Fedora Asahi
> runners specifically for subpage testing[1]?

Yes, but we don't have yet a stable testing base with all-pass results
on all configuration and with quirks disabling unreliable tests. There
are crashes reported with various sets of patches that are likely
caused by folio changes but it's hard to narrow down which ones.
David Sterba March 26, 2024, 3:17 p.m. UTC | #4
On Mon, Jan 29, 2024 at 09:04:42AM +0100, David Sterba wrote:
> On Tue, Jan 23, 2024 at 01:28:04PM -0600, Goldwyn Rodrigues wrote:
> > From: Goldwyn Rodrigues <rgoldwyn@suse.com>
> > 
> > These patches transform some page usage to folio. All references and data
> > of page/folio is within the scope of the function changed.
> > 
> > Changes since v1:
> > Review comments - 
> >   * Added WARN_ON(folio_order(folio)) to ensure future development knows
> >     this code assumes folio_size(folio) == PAGE_SIZE
> >   * namespace restoration: prefix variable names with folio_
> >   * Line adjustments
> > 
> > Goldwyn Rodrigues (3):
> >   btrfs: page to folio conversion: prealloc_file_extent_cluster()
> >   btrfs: convert relocate_one_page() to relocate_one_folio()
> >   btrfs: page to folio conversion in put_file_data()
> 
> The conversion looks straightforward like we've been doing elsewhere,
> however the CI is still not in a shape to validate arm + subpage, I've
> seen the hosts not pass with various sets of patches (removed potential
> breakage and keeping potential fixes).
> 
> There are more folio conversions coming so I'd like to get them all in
> so we can switch to the big folios eventually but without the CI
> verification of subpage it's a bit risky.

The patches have been in my misc-next (and in linux-next), no problems
reported so far. The extent buffer problems have been fixed so folios
can changes can be added again. As this patches is 2 months old I've
moved it to for-next with some code style fixups and changelog updates.