1. Oct 02, 2022
    • Masahiro Yamada's avatar
      kbuild: remove head-y syntax · ce697cce
      Masahiro Yamada authored
      
      
      Kbuild puts the objects listed in head-y at the head of vmlinux.
      Conventionally, we do this for head*.S, which contains the kernel entry
      point.
      
      A counter approach is to control the section order by the linker script.
      Actually, the code marked as __HEAD goes into the ".head.text" section,
      which is placed before the normal ".text" section.
      
      I do not know if both of them are needed. From the build system
      perspective, head-y is not mandatory. If you can achieve the proper code
      placement by the linker script only, it would be cleaner.
      
      I collected the current head-y objects into head-object-list.txt. It is
      a whitelist. My hope is it will be reduced in the long run.
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      ce697cce
    • Masahiro Yamada's avatar
      kbuild: use obj-y instead extra-y for objects placed at the head · 32164845
      Masahiro Yamada authored
      The objects placed at the head of vmlinux need special treatments:
      
       - arch/$(SRCARCH)/Makefile adds them to head-y in order to place
         them before other archives in the linker command line.
      
       - arch/$(SRCARCH)/kernel/Makefile adds them to extra-y instead of
         obj-y to avoid them going into built-in.a.
      
      This commit gets rid of the latter.
      
      Create vmlinux.a to collect all the objects that are unconditionally
      linked to vmlinux. The objects listed in head-y are moved to the head
      of vmlinux.a by using 'ar m'.
      
      With this, arch/$(SRCARCH)/kernel/Makefile can consistently use obj-y
      for builtin objects.
      
      There is no *.o that is directly linked to vmlinux. Drop unneeded code
      in scripts/clang-tools/gen_compile_commands.py.
      
      $(AR) mPi needs 'T' to workaround the llvm-ar bug. The fix was suggested
      by Nathan Chancellor [1].
      
      [1]: https://lore.kernel.org/llvm/YyjjT5gQ2hGMH0ni@dev-arch.thelio-3990X/
      
      
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      32164845
  2. Sep 29, 2022
  3. Sep 26, 2022
    • Linus Torvalds's avatar
      Linux 6.0-rc7 · f76349cf
      Linus Torvalds authored
      f76349cf
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 5e049663
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Regression and bug fixes:
      
         - Performance regression fix from 5.18 on a Rasberry Pi
      
         - Fix extent parsing bug which triggers a BUG_ON when a (corrupted)
           extent tree has has a non-root node when zero entries.
      
         - Fix a livelock where in the right (wrong) circumstances a large
           number of nfsd threads can try to write to a nearly full file
           system, and retry for hours(!)"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: limit the number of retries after discarding preallocations blocks
        ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
        ext4: use buckets for cr 1 block scan instead of rbtree
        ext4: use locality group preallocation for small closed files
        ext4: make directory inode spreading reflect flexbg size
        ext4: avoid unnecessary spreading of allocations among groups
        ext4: make mballoc try target group first even with mb_optimize_scan
      5e049663
  4. Sep 25, 2022
  5. Sep 24, 2022