Re: [RFC] xfs-linux: realtime work branch rtalloc-speedups-6.7 updated to 8468dc886e05

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

 



On Mon, Oct 16, 2023 at 05:37:37PM -0700, Darrick J. Wong wrote:
> Hi folks,
> 
> I've created a work branch for all of our realtime cleanups and
> optimizations in the rtalloc-speedups-6.7 branch of the xfs-linux
> repository at:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
> 
> I started by rebasing last week's rt cleanups patchsets against 6.6-rc6
> TOT instead of djwong-dev, then I added Dave's xfs_rtalloc_args cleanup,
> and then added Omar's rt allocator speedups.  This branch HAS NOT BEEN
> TESTED YET, but it's a starting point.

...and now that the branch has survived overnight testing, I'll send all
this to the list.  Of the patches I sent last week, there are the ones
that haven't gotten an RVB tag yet:

 [PATCH 2/4] xfs: hoist freeing of rt data fork extent mappings
 [PATCH 1/8] xfs: fix units conversion error in
 [PATCH 4/7] xfs: create helpers to convert rt block numbers to rt
 [PATCH 5/7] xfs: convert do_div calls to xfs_rtb_to_rtx helper calls
 [PATCH 3/8] xfs: convert open-coded xfs_rtword_t pointer accesses to
 [PATCH 5/8] xfs: create helpers for rtbitmap block/wordcount
 [PATCH 6/8] xfs: use accessor functions for bitmap words
 [PATCH 8/8] xfs: use accessor functions for summary info words

Someone else ought to have a look at the m_rsum_cache changes in "xfs:
cache last bitmap block in realtime allocator".

--D

> The new head of the rtalloc-speedups-6.7 branch is commit:
> 
> 8468dc886e05 xfs: don't look for end of extent further than necessary in xfs_rtallocate_extent_near()
> 
> 36 new commits:
> 
> Darrick J. Wong (28):
> [6e271069a8e8] xfs: make xchk_iget safer in the presence of corrupt inode btrees
> [a4f05ca8e957] xfs: bump max fsgeom struct version
> [29c024027344] xfs: hoist freeing of rt data fork extent mappings
> [13b454578ad3] xfs: prevent rt growfs when quota is enabled
> [d37145ff1fc1] xfs: rt stubs should return negative errnos when rt disabled
> [6f9b2269640b] xfs: fix units conversion error in xfs_bmap_del_extent_delay
> [f50b658838a6] xfs: make sure maxlen is still congruent with prod when rounding down
> [615077bc8c1d] xfs: move the xfs_rtbitmap.c declarations to xfs_rtbitmap.h
> [0c1cb7c1da51] xfs: convert xfs_extlen_t to xfs_rtxlen_t in the rt allocator
> [f3a29a7ef69c] xfs: convert rt bitmap/summary block numbers to xfs_fileoff_t
> [fe06f373a0c0] xfs: convert rt bitmap extent lengths to xfs_rtbxlen_t
> [044f35063aae] xfs: rename xfs_verify_rtext to xfs_verify_rtbext
> [d77a09d2f1cd] xfs: convert rt extent numbers to xfs_rtxnum_t
> [62403a6a8347] xfs: create a helper to convert rtextents to rtblocks
> [cdcf7ec7066f] xfs: create a helper to compute leftovers of realtime extents
> [7554cfeea00b] xfs: create a helper to convert extlen to rtextlen
> [289f997d7525] xfs: create helpers to convert rt block numbers to rt extent numbers
> [903b8250c1b2] xfs: convert do_div calls to xfs_rtb_to_rtx helper calls
> [2bc367366fa4] xfs: create rt extent rounding helpers for realtime extent blocks
> [f60b96941aa2] xfs: use shifting and masking when converting rt extents, if possible
> [a024d18f3b34] xfs: convert the rtbitmap block and bit macros to static inline functions
> [8808f43be672] xfs: remove XFS_BLOCKWSIZE and XFS_BLOCKWMASK macros
> [02c6a803ba9d] xfs: convert open-coded xfs_rtword_t pointer accesses to helper
> [3f58eecd512d] xfs: convert rt summary macros to helpers
> [38a9bd42e14a] xfs: create helpers for rtbitmap block/wordcount computations
> [d498cbd3e248] xfs: use accessor functions for bitmap words
> [bf1339d40051] xfs: create helpers for rtsummary block/wordcount computations
> [73550154f276] xfs: use accessor functions for summary info words
> 
> Dave Chinner (1):
> [eae4934139cc] xfs: consolidate realtime allocation arguments
> 
> Omar Sandoval (6):
> [a0bdaa6acd56] xfs: cache last bitmap block in realtime allocator
> [0e7cd2d75d12] xfs: invert the realtime summary cache
> [1670d971eaa0] xfs: return maximum free size from xfs_rtany_summary()
> [14c0296bc6a1] xfs: limit maxlen based on available space in xfs_rtallocate_extent_near()
> [9a2f547ec4be] xfs: don't try redundant allocations in xfs_rtallocate_extent_near()
> [8468dc886e05] xfs: don't look for end of extent further than necessary in xfs_rtallocate_extent_near()
> 
> Shiyang Ruan (1):
> [ea9b00e231ae] mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind
> 
> Code Diffstat:
> 
> drivers/dax/super.c            |   3 +-
> fs/xfs/libxfs/xfs_bmap.c       |  45 +--
> fs/xfs/libxfs/xfs_format.h     |  34 +-
> fs/xfs/libxfs/xfs_rtbitmap.c   | 733 +++++++++++++++++++++++++----------------
> fs/xfs/libxfs/xfs_rtbitmap.h   | 326 ++++++++++++++++++
> fs/xfs/libxfs/xfs_sb.c         |   2 +
> fs/xfs/libxfs/xfs_sb.h         |   2 +-
> fs/xfs/libxfs/xfs_trans_resv.c |  10 +-
> fs/xfs/libxfs/xfs_types.c      |   4 +-
> fs/xfs/libxfs/xfs_types.h      |  10 +-
> fs/xfs/scrub/bmap.c            |   2 +-
> fs/xfs/scrub/common.c          |   6 +-
> fs/xfs/scrub/common.h          |  19 ++
> fs/xfs/scrub/fscounters.c      |   2 +-
> fs/xfs/scrub/inode.c           |   7 +-
> fs/xfs/scrub/rtbitmap.c        |  28 +-
> fs/xfs/scrub/rtsummary.c       |  57 ++--
> fs/xfs/scrub/trace.c           |   1 +
> fs/xfs/scrub/trace.h           |   9 +-
> fs/xfs/xfs_bmap_util.c         |  50 ++-
> fs/xfs/xfs_fsmap.c             |  15 +-
> fs/xfs/xfs_inode_item.c        |   3 +-
> fs/xfs/xfs_ioctl.c             |   5 +-
> fs/xfs/xfs_linux.h             |  12 +
> fs/xfs/xfs_mount.h             |   8 +-
> fs/xfs/xfs_notify_failure.c    | 108 +++++-
> fs/xfs/xfs_ondisk.h            |   4 +
> fs/xfs/xfs_rtalloc.c           | 602 +++++++++++++++++----------------
> fs/xfs/xfs_rtalloc.h           |  94 +-----
> fs/xfs/xfs_super.c             |   3 +-
> fs/xfs/xfs_trans.c             |   7 +-
> include/linux/mm.h             |   1 +
> mm/memory-failure.c            |  21 +-
> 33 files changed, 1391 insertions(+), 842 deletions(-)
> create mode 100644 fs/xfs/libxfs/xfs_rtbitmap.h



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux