1. 14 9月, 2021 1 次提交
  2. 10 9月, 2021 1 次提交
  3. 09 9月, 2021 7 次提交
  4. 07 9月, 2021 1 次提交
    • L
      lib/test_scanf: split up number parsing test routines · ba7b1f86
      Linus Torvalds 提交于
      It turns out that gcc has real trouble merging all the temporary
      on-stack buffer allocation.  So despite the fact that their lifetimes do
      not overlap, gcc will allocate stack for all of them when they have
      different types.  Which they do in the number scanning test routines.
      
      This is unfortunate in general, but with lots of test-cases in one
      function, it becomes a real problem.  gcc will allocate a huge stack
      frame for no actual good reason.
      
      We have tried to counteract this tendency of gcc not merging stack slots
      (see "-fconserve-stack"), but that has limited effect (and should be on
      by default these days, iirc).
      
      So with all the debug options enabled on an i386 allmodconfig build, we
      end up with overly big stack frames, and the resulting stack frame size
      warnings (now errors):
      
         lib/test_scanf.c: In function ‘numbers_list_field_width_val_width’:
         lib/test_scanf.c:530:1: error: the frame size of 2088 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
           530 | }
               | ^
         lib/test_scanf.c: In function ‘numbers_list_field_width_typemax’:
         lib/test_scanf.c:488:1: error: the frame size of 2568 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
           488 | }
               | ^
         lib/test_scanf.c: In function ‘numbers_list’:
         lib/test_scanf.c:437:1: error: the frame size of 2088 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
           437 | }
               | ^
      
      In this particular case, the reasonably straightforward solution is to
      just split out the test routines into multiple more targeted versions.
      That way we don't have one huge stack, but several smaller ones, and
      they aren't active all at the same time.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ba7b1f86
  5. 04 9月, 2021 11 次提交
  6. 03 9月, 2021 1 次提交
    • N
      Makefile: remove stale cc-option checks · 7d73c3e9
      Nick Desaulniers 提交于
      cc-option, cc-option-yn, and cc-disable-warning all invoke the compiler
      during build time, and can slow down the build when these checks become
      stale for our supported compilers, whose minimally supported versions
      increases over time. See Documentation/process/changes.rst for the
      current supported minimal versions (GCC 4.9+, clang 10.0.1+). Compiler
      version support for these flags may be verified on godbolt.org.
      
      The following flags are GCC only and supported since at least GCC 4.9.
      Remove cc-option and cc-disable-warning tests.
      * -fno-tree-loop-im
      * -Wno-maybe-uninitialized
      * -fno-reorder-blocks
      * -fno-ipa-cp-clone
      * -fno-partial-inlining
      * -femit-struct-debug-baseonly
      * -fno-inline-functions-called-once
      * -fconserve-stack
      
      The following flags are supported by all supported versions of GCC and
      Clang. Remove their cc-option, cc-option-yn, and cc-disable-warning tests.
      * -fno-delete-null-pointer-checks
      * -fno-var-tracking
      * -Wno-array-bounds
      
      The following configs are made dependent on GCC, since they use GCC
      specific flags.
      * READABLE_ASM
      * DEBUG_SECTION_MISMATCH
      
      -mfentry was not supported by s390-linux-gnu-gcc until gcc-9+, add a
      comment.
      
      --param=allow-store-data-races=0 was renamed to -fno-allow-store-data-races
      in the GCC 10 release; add a comment.
      
      -Wmaybe-uninitialized (GCC specific) was being added for CONFIG_GCOV,
      then again unconditionally; add it only once.
      
      Also, base RETPOLINE_CFLAGS and RETPOLINE_VDSO_CFLAGS on CONFIC_CC_IS_*
      then remove cc-option tests for Clang.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/1436Acked-by: NMiguel Ojeda <ojeda@kernel.org>
      Reviewed-by: NNathan Chancellor <nathan@kernel.org>
      Signed-off-by: NNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      7d73c3e9
  7. 30 8月, 2021 2 次提交
    • L
      string: improve default out-of-line memcmp() implementation · 291d47cc
      Linus Torvalds 提交于
      This just does the "if the architecture does efficient unaligned
      handling, start the memcmp using 'unsigned long' accesses", since
      Nikolay Borisov found a load that cares.
      
      This is basically the minimal patch, and limited to architectures that
      are known to not have slow unaligned handling.  We've had the stupid
      byte-at-a-time version forever, and nobody has ever even noticed before,
      so let's keep the fix minimal.
      
      A potential further improvement would be to align one of the sources in
      order to at least minimize unaligned cases, but the only real case of
      bigger memcmp() users seems to be the FIDEDUPERANGE ioctl().  As David
      Sterba says, the dedupe ioctl is typically called on ranges spanning
      many pages so the common case will all be page-aligned anyway.
      
      All the relevant architectures select HAVE_EFFICIENT_UNALIGNED_ACCESS,
      so I'm not going to worry about the combination of a very rare use-case
      and a rare architecture until somebody actually hits it.  Particularly
      since Nikolay also tested the more complex patch with extra alignment
      handling code, and it only added overhead.
      
      Link: https://lore.kernel.org/lkml/20210721135926.602840-1-nborisov@suse.com/Reported-by: NNikolay Borisov <nborisov@suse.com>
      Cc: David Sterba <dsterba@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      291d47cc
    • H
      parisc: Increase size of gcc stack frame check · 55b70eed
      Helge Deller 提交于
      parisc uses much bigger frames than other architectures, so increase the
      stack frame check value to avoid compiler warnings.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: NHelge Deller <deller@gmx.de>
      55b70eed
  8. 27 8月, 2021 1 次提交
  9. 25 8月, 2021 2 次提交
  10. 24 8月, 2021 1 次提交
  11. 22 8月, 2021 2 次提交
  12. 21 8月, 2021 1 次提交
  13. 19 8月, 2021 1 次提交
  14. 18 8月, 2021 3 次提交
  15. 17 8月, 2021 2 次提交
  16. 14 8月, 2021 3 次提交