# git rev-parse -q --verify bba7d682277c09373b56b0461b0abbd0b3d1e872^{commit} bba7d682277c09373b56b0461b0abbd0b3d1e872 already have revision, skipping fetch # git checkout -q -f -B kisskb bba7d682277c09373b56b0461b0abbd0b3d1e872 # git clean -qxdf # < git log -1 # commit bba7d682277c09373b56b0461b0abbd0b3d1e872 # Merge: a64a325bf631 2a09b575074f # Author: Linus Torvalds # Date: Tue Nov 2 12:42:56 2021 -0700 # # Merge tag 'xfs-5.16-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux # # Pull xfs updates from Darrick Wong: # "This cycle we've worked on fixing bugs and improving XFS' memory # footprint. # # The most notable fixes include: fixing a corruption warning (and free # space accounting skew) if copy on write fails; fixing slab cache # misuse if SLOB is enabled, which apparently was broken for years # without anybody noticing; and fixing a potential race with online # shrinkfs. # # Otherwise, the bulk of the changes here involve setting up separate # slab caches for frequently used items such as btree cursors and log # intent items, and compacting the structures to reduce memory usage of # those items substantially. This also sets us up to support larger # btrees in future kernels. We also switch parts of online fsck to # allocate scrub context information from the heap instead of using # stack space. # # Summary: # # - Bug fixes and cleanups for kernel memory allocation usage, this # time without touching the mm code. # # - Refactor the log recovery mechanism that preserves held resources # across a transaction roll so that it uses the exact same mechanism # that we use for that during regular runtime. # # - Fix bugs and tighten checking around btree heights. # # - Remove more old typedefs. # # - Fix perag reference leaks when racing with growfs. # # - Remove unused fields from xfs_btree_cur. # # - Allocate various scrub structures on the heap to reduce stack # usage. # # - Pack xfs_btree_cur fields and rearrange to support arbitrary # heights. # # - Compute maximum possible heights for each btree height, and use # that to set up slab caches for each btree type. # # - Finally remove kmem_zone_t, since these have always been struct # kmem_cache on Linux. # # - Compact the structures used to coordinate work intent items. # # - Set up slab caches for each work intent item type. # # - Rename the "bmap_add_free" function to "free_extent_later", which # more accurately describes what it does. # # - Fix corruption warning on unmount when a CoW preallocation covers a # data fork delalloc reservation but then the CoW fails. # # - Add some more minor code improvements" # # * tag 'xfs-5.16-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (45 commits) # xfs: use swap() to make code cleaner # xfs: Remove duplicated include in xfs_super # xfs: punch out data fork delalloc blocks on COW writeback failure # xfs: remove unused parameter from refcount code # xfs: reduce the size of struct xfs_extent_free_item # xfs: rename xfs_bmap_add_free to xfs_free_extent_later # xfs: create slab caches for frequently-used deferred items # xfs: compact deferred intent item structures # xfs: rename _zone variables to _cache # xfs: remove kmem_zone typedef # xfs: use separate btree cursor cache for each btree type # xfs: compute absolute maximum nlevels for each btree type # xfs: kill XFS_BTREE_MAXLEVELS # xfs: compute the maximum height of the rmap btree when reflink enabled # xfs: clean up xfs_btree_{calc_size,compute_maxlevels} # xfs: compute maximum AG btree height for critical reservation calculation # xfs: rename m_ag_maxlevels to m_allocbt_maxlevels # xfs: dynamically allocate cursors based on maxlevels # xfs: encode the max btree height in the cursor # xfs: refactor btree cursor allocation function # ... # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 bba7d682277c09373b56b0461b0abbd0b3d1e872 # < make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_LD_HEAD_STUB_CATCH=y # Added to kconfig CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # < make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:6048:warning: override: reassigning to symbol MODULE_SIG .config:6053:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:6055:warning: override: reassigning to symbol GCC_PLUGINS # make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- :1559:2: warning: #warning syscall futex_waitv not implemented [-Wcpp] /kisskb/src/drivers/video/fbdev/controlfb.c:70: error: "pgprot_cached_wthru" redefined [-Werror] 70 | #define pgprot_cached_wthru(prot) (prot) | In file included from /kisskb/src/arch/powerpc/include/asm/pgtable.h:20, from /kisskb/src/include/linux/pgtable.h:6, from /kisskb/src/include/linux/mm.h:33, from /kisskb/src/drivers/video/fbdev/controlfb.c:37: /kisskb/src/arch/powerpc/include/asm/nohash/pgtable.h:243: note: this is the location of the previous definition 243 | #define pgprot_cached_wthru(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ | cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/video/fbdev/controlfb.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/video/fbdev] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/video] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1872: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc11 # Build took: 0:02:51.323006