Re: [PATCH 0/6] Block group structure cleanups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2019/10/24 上午12:48, David Sterba wrote:
> The block group cache structure has two embedded members that belong to
> the on-disk format but were used for the in-memory structures. It's been
> like that forever and I wonder why nobody was bothered by that. Switch
> to normal members and rename a few things on along the way.
> 
> The size of block_group_cache is down from 528 to 504 so it should not
> fit better to slab pages. Further shrinkage is possible.

Great work!

The patchset doesn't only reduce the memory usage (which is already
awesome for large fs), but also provide more flexibility for later block
group item change.

All previously on-disk format related members are now all refactor,
providing a pretty good basis for later bgi change. Awesome!

Reviewed-by: Qu Wenruo <wqu@xxxxxxxx>

Thanks,
Qu

> 
> David Sterba (6):
>   btrfs: move block_group_item::used to block group
>   btrfs: move block_group_item::flags to block group
>   btrfs: remove embedded block_group_cache::item
>   btrfs: rename block_group_item on-stack accessors to follow naming
>   btrfs: rename extent buffer block group item accessors
>   btrfs: add dedicated members for start and length of a block group
> 
>  fs/btrfs/block-group.c                 | 191 +++++++++++++------------
>  fs/btrfs/block-group.h                 |   5 +-
>  fs/btrfs/ctree.h                       |  12 +-
>  fs/btrfs/extent-tree.c                 |  31 ++--
>  fs/btrfs/free-space-cache.c            |  39 +++--
>  fs/btrfs/free-space-tree.c             |  83 ++++++-----
>  fs/btrfs/ioctl.c                       |   5 +-
>  fs/btrfs/print-tree.c                  |   6 +-
>  fs/btrfs/reada.c                       |   4 +-
>  fs/btrfs/relocation.c                  |  18 +--
>  fs/btrfs/scrub.c                       |  10 +-
>  fs/btrfs/space-info.c                  |   3 +-
>  fs/btrfs/sysfs.c                       |   4 +-
>  fs/btrfs/tests/btrfs-tests.c           |   5 +-
>  fs/btrfs/tests/free-space-tree-tests.c |  75 +++++-----
>  fs/btrfs/tree-checker.c                |  10 +-
>  fs/btrfs/volumes.c                     |  19 ++-
>  include/trace/events/btrfs.h           |  21 ++-
>  18 files changed, 264 insertions(+), 277 deletions(-)
> 

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux