mbox series

[0/3] btrfs: make extent buffer memory continuous

Message ID cover.1692858397.git.wqu@suse.com (mailing list archive)
Headers show
Series btrfs: make extent buffer memory continuous | expand

Message

Qu Wenruo Aug. 24, 2023, 6:33 a.m. UTC
[CHANGELOG]
RFC->v1:
- Rebased to the latest misc-next branch
  Just a small conflicts in extent_buffer_memmove().

- Further cleanup the extent buffer bitmap operations

[REPO]
https://github.com/adam900710/linux/tree/eb_page_cleanups

This includes the submitted extent buffer accessors cleanup as
the dependency.

[BACKGROUND]
We have a lot of extent buffer code addressing the cross-page accesses, on
the other hand, other filesystems like XFS is mapping its xfs_buf into
kernel virtual address space, so that they can access the content of
xfs_buf without bothering the page boundaries.

[OBJECTIVE]
This patchset is mostly learning from the xfs_buf, to greatly simplify
the extent buffer accessors.

Now all the extent buffer accessors are turned into wrappers of
memcpy()/memcmp()/memmove().

For now, it can pass test cases from btrfs group without new
regressions.

Qu Wenruo (3):
  btrfs: warn on tree blocks which are not nodesize aligned
  btrfs: map uncontinuous extent buffer pages into virtual address space
  btrfs: utilize the physically/virtually continuous extent buffer
    memory

 fs/btrfs/disk-io.c   |  18 +--
 fs/btrfs/extent_io.c | 360 +++++++++++++------------------------------
 fs/btrfs/extent_io.h |  17 ++
 fs/btrfs/fs.h        |   7 +
 4 files changed, 139 insertions(+), 263 deletions(-)

Comments

David Sterba Sept. 6, 2023, 5:49 p.m. UTC | #1
On Thu, Aug 24, 2023 at 02:33:35PM +0800, Qu Wenruo wrote:
> [CHANGELOG]
> RFC->v1:
> - Rebased to the latest misc-next branch
>   Just a small conflicts in extent_buffer_memmove().
> 
> - Further cleanup the extent buffer bitmap operations
> 
> [REPO]
> https://github.com/adam900710/linux/tree/eb_page_cleanups
> 
> This includes the submitted extent buffer accessors cleanup as
> the dependency.
> 
> [BACKGROUND]
> We have a lot of extent buffer code addressing the cross-page accesses, on
> the other hand, other filesystems like XFS is mapping its xfs_buf into
> kernel virtual address space, so that they can access the content of
> xfs_buf without bothering the page boundaries.
> 
> [OBJECTIVE]
> This patchset is mostly learning from the xfs_buf, to greatly simplify
> the extent buffer accessors.
> 
> Now all the extent buffer accessors are turned into wrappers of
> memcpy()/memcmp()/memmove().
> 
> For now, it can pass test cases from btrfs group without new
> regressions.
> 
> Qu Wenruo (3):
>   btrfs: warn on tree blocks which are not nodesize aligned
>   btrfs: map uncontinuous extent buffer pages into virtual address space
>   btrfs: utilize the physically/virtually continuous extent buffer
>     memory

My objections stand and we can continue the discussion under the RFC
series, but for testing purposes I'll add the series to for-next.