1. 28 May, 2024 11 commits
  2. 27 May, 2024 1 commit
  3. 26 May, 2024 2 commits
  4. 23 May, 2024 2 commits
  5. 22 May, 2024 5 commits
  6. 20 May, 2024 11 commits
  7. 19 May, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of... · eb6a9339
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-mm updates from Andrew Morton:
       "Mainly singleton patches, documented in their respective changelogs.
        Notable series include:
      
         - Some maintenance and performance work for ocfs2 in Heming Zhao's
           series "improve write IO performance when fragmentation is high".
      
         - Some ocfs2 bugfixes from Su Yue in the series "ocfs2 bugs fixes
           exposed by fstests".
      
         - kfifo header rework from Andy Shevchenko in the series "kfifo:
           Clean up kfifo.h".
      
         - GDB script fixes from Florian Rommel in the series "scripts/gdb:
           Fixes for $lx_current and $lx_per_cpu".
      
         - After much discussion, a coding-style update from Barry Song
           explaining one reason why inline functions are preferred over
           macros. The series is "codingstyle: avoid unused parameters for a
           function-like macro""
      
      * tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (62 commits)
        fs/proc: fix softlockup in __read_vmcore
        nilfs2: convert BUG_ON() in nilfs_finish_roll_forward() to WARN_ON()
        scripts: checkpatch: check unused parameters for function-like macro
        Documentation: coding-style: ask function-like macros to evaluate parameters
        nilfs2: use __field_struct() for a bitwise field
        selftests/kcmp: remove unused open mode
        nilfs2: remove calls to folio_set_error() and folio_clear_error()
        kernel/watchdog_perf.c: tidy up kerneldoc
        watchdog: allow nmi watchdog to use raw perf event
        watchdog: handle comma separated nmi_watchdog command line
        nilfs2: make superblock data array index computation sparse friendly
        squashfs: remove calls to set the folio error flag
        squashfs: convert squashfs_symlink_read_folio to use folio APIs
        scripts/gdb: fix detection of current CPU in KGDB
        scripts/gdb: make get_thread_info accept pointers
        scripts/gdb: fix parameter handling in $lx_per_cpu
        scripts/gdb: fix failing KGDB detection during probe
        kfifo: don't use "proxy" headers
        media: stih-cec: add missing io.h
        media: rc: add missing io.h
        ...
      eb6a9339
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-05-19' of https://evilpiepirate.org/git/bcachefs · 16dbfae8
      Linus Torvalds authored
      Pull bcachefs updates from Kent Overstreet:
      
       - More safety fixes, primarily found by syzbot
      
       - Run the upgrade/downgrade paths in nochnages mode. Nochanges mode is
         primarily for testing fsck/recovery in dry run mode, so it shouldn't
         change anything besides disabling writes and holding dirty metadata
         in memory.
      
         The idea here was to reduce the amount of activity if we can't write
         anything out, so that bringing up a filesystem in "super ro" mode
         would be more lilkely to work for data recovery - but norecovery is
         the correct option for this.
      
       - btree_trans->locked; we now track whether a btree_trans has any btree
         nodes locked, and this is used for improved assertions related to
         trans_unlock() and trans_relock(). We'll also be using it for
         improving how we work with lockdep in the future: we don't want
         lockdep to be tracking individual btree node locks because we take
         too many for lockdep to track, and it's not necessary since we have a
         cycle detector.
      
       - Trigger improvements that are prep work for online fsck
      
       - BTREE_TRIGGER_check_repair; this regularizes how we do some repair
         work for extents that goes with running triggers in fsck, and fixes
         some subtle issues with transaction restarts there.
      
       - bch2_snapshot_equiv() has now been ripped out of fsck.c; snapshot
         equivalence classes are for when snapshot deletion leaves behind
         redundant snapshot nodes, but snapshot deletion now cleans this up
         right away, so the abstraction doesn't need to leak.
      
       - Improvements to how we resume writing to the journal in recovery. The
         code for picking the new place to write when reading the journal is
         greatly simplified and we also store the position in the superblock
         for when we don't read the journal; this means that we preserve more
         of the journal for list_journal debugging.
      
       - Improvements to sysfs btree_cache and btree_node_cache, for debugging
         memory reclaim.
      
       - We now detect when we've blocked for 10 seconds on the allocator in
         the write path and dump some useful info.
      
       - Safety fixes for devices references: this is a big series that
         changes almost all device lookups to properly check if the device
         exists and take a reference to it.
      
         Previously we assumed that if a bkey exists that references a device
         then the device must exist, and this was enforced in .invalid
         methods, but this was incorrect because it meant device removal
         relied on accounting being correct to not leave keys pointing to
         invalid devices, and that's not something we can assume.
      
         Getting the "pointer to invalid device" checks out of our .invalid()
         methods fixes some long standing device removal bugs; the only
         outstanding bug with device removal now is a race between the discard
         path and deleting alloc info, which should be easily fixed.
      
       - The allocator now prefers not to expand the new
         member_info.btree_allocated bitmap, meaning if repair ever requires
         scanning for btree nodes (because of a corrupt interior nodes) we
         won't have to scan the whole device(s).
      
       - New coding style document, which among other things talks about the
         correct usage of assertions
      
      * tag 'bcachefs-2024-05-19' of https://evilpiepirate.org/git/bcachefs: (155 commits)
        bcachefs: add no_invalid_checks flag
        bcachefs: add counters for failed shrinker reclaim
        bcachefs: Fix sb_field_downgrade validation
        bcachefs: Plumb bch_validate_flags to sb_field_ops.validate()
        bcachefs: s/bkey_invalid_flags/bch_validate_flags
        bcachefs: fsync() should not return -EROFS
        bcachefs: Invalid devices are now checked for by fsck, not .invalid methods
        bcachefs: kill bch2_dev_bkey_exists() in bch2_check_fix_ptrs()
        bcachefs: kill bch2_dev_bkey_exists() in bch2_read_endio()
        bcachefs: bch2_dev_get_ioref() checks for device not present
        bcachefs: bch2_dev_get_ioref2(); io_read.c
        bcachefs: bch2_dev_get_ioref2(); debug.c
        bcachefs: bch2_dev_get_ioref2(); journal_io.c
        bcachefs: bch2_dev_get_ioref2(); io_write.c
        bcachefs: bch2_dev_get_ioref2(); btree_io.c
        bcachefs: bch2_dev_get_ioref2(); backpointers.c
        bcachefs: bch2_dev_get_ioref2(); alloc_background.c
        bcachefs: for_each_bset() declares loop iter
        bcachefs: Move BCACHEFS_STATFS_MAGIC value to UAPI magic.h
        bcachefs: Improve sysfs internal/btree_cache
        ...
      16dbfae8
    • Linus Torvalds's avatar
      Merge tag 'turbostat-for-Linux-6.10-merge-window' of... · a90f1cd1
      Linus Torvalds authored
      Merge tag 'turbostat-for-Linux-6.10-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
      
      Pull turbostat updates from Len Brown:
      
       - Survive sparse die id's seen in Linux-6.9
      
       - Handle clustered-uncore topology in new/upcoming hardware
      
       - For non-root use, add ability to see software C-state counters
      
       - Enable reading core and package hardware cstate via perf, and prefer
         perf over the MSR driver access for these counters
      
      * tag 'turbostat-for-Linux-6.10-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: version 2024.05.10
        tools/power turbostat: Ignore pkg_cstate_limit when it is not available
        tools/power turbostat: Fix order of strings in pkg_cstate_limit_strings
        tools/power turbostat: Read Package-cstates via perf
        tools/power turbostat: Read Core-cstates via perf
        tools/power turbostat: Avoid possible memory corruption due to sparse topology IDs
        tools/power turbostat: Add columns for clustered uncore frequency
        tools/power turbostat: Enable non-privileged users to read sysfs counters
        tools/power turbostat: Replace _Static_assert with BUILD_BUG_ON
        tools/power turbostat: Add ARL-H support
        tools/power turbostat: Enhance ARL/LNL support
        tools/power turbostat: Survive sparse die_id
        tools/power turbostat: Remember global max_die_id
        tools/power turbostat: Harden probe_intel_uncore_frequency()
        tools/power turbostat: Add "snapshot:" Makefile target
      a90f1cd1
    • Linus Torvalds's avatar
      Merge tag 'kgdb-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · a7605628
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "Nine patches this cycle and they split into just three topics:
      
         - Adopt coccinelle's recommendation to adopt str_plural()
      
         - A set of seven patches to refactor kdb_read() to improve both code
           clarity and its discipline with respect to fixed size buffers.
      
           This isn't just a refactor. Between them these also fix a cursor
           movement redraw problem and two buffer overflows (one latent and
           one real, albeit difficult to tickle).
      
         - Fix an NMI-safety problem when enqueuing kdb's keyboard reset code
      
        I wrote eight of the nine patches in this collection so many thanks to
        Doug Anderson for the reviews. The changes that affects
        drivers/tty/serial is acked by Greg KH"
      
      * tag 'kgdb-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        serial: kgdboc: Fix NMI-safety problems from keyboard reset code
        kdb: Simplify management of tmpbuffer in kdb_read()
        kdb: Replace double memcpy() with memmove() in kdb_read()
        kdb: Use format-specifiers rather than memset() for padding in kdb_read()
        kdb: Merge identical case statements in kdb_read()
        kdb: Fix console handling when editing and tab-completing commands
        kdb: Use format-strings rather than '\0' injection in kdb_read()
        kdb: Fix buffer overflow during tab-complete
        kdb: Use str_plural() to fix Coccinelle warning
      a7605628
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 41c14f1a
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
      
       - Fix a NOP-patching bug that resulted in valid but suboptimal
         NOP sequences in certain cases
      
       - Fix build warnings related to fall-through control flow
      
      * tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/alternatives: Use the correct length when optimizing NOPs
        x86/boot: Address clang -Wimplicit-fallthrough in vsprintf()
        x86/boot: Add a fallthrough annotation
      41c14f1a
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8dde191a
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
      
       - Fix a sched_balance_newidle setting bug
      
       - Fix bug in the setting of /sys/fs/cgroup/test/cpu.max.burst
      
       - Fix variable-shadowing build warning
      
       - Extend sched-domains debug output
      
       - Fix documentation
      
       - Fix comments
      
      * tag 'sched-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Fix incorrect initialization of the 'burst' parameter in cpu_max_write()
        sched/fair: Remove stale FREQUENCY_UTIL comment
        sched/fair: Fix initial util_avg calculation
        docs: cgroup-v1: Clarify that domain levels are system-specific
        sched/debug: Dump domains' level
        sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
        arch/topology: Fix variable naming to avoid shadowing
      8dde191a
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fe0d43f2
      Linus Torvalds authored
      Pull perf event updates from Ingo Molnar:
      
       - Extend the x86 instruction decoder with APX and
         other new instructions
      
       - Misc cleanups
      
      * tag 'perf-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/cstate: Remove unused 'struct perf_cstate_msr'
        perf/x86/rapl: Rename 'maxdie' to nr_rapl_pmu and 'dieid' to rapl_pmu_idx
        x86/insn: Add support for APX EVEX instructions to the opcode map
        x86/insn: Add support for APX EVEX to the instruction decoder logic
        x86/insn: x86/insn: Add support for REX2 prefix to the instruction decoder opcode map
        x86/insn: Add support for REX2 prefix to the instruction decoder logic
        x86/insn: Add misc new Intel instructions
        x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS
        x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
        x86/insn: Add Key Locker instructions to the opcode map
      fe0d43f2
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 61307b7b
      Linus Torvalds authored
      Pull mm updates from Andrew Morton:
       "The usual shower of singleton fixes and minor series all over MM,
        documented (hopefully adequately) in the respective changelogs.
        Notable series include:
      
         - Lucas Stach has provided some page-mapping cleanup/consolidation/
           maintainability work in the series "mm/treewide: Remove pXd_huge()
           API".
      
         - In the series "Allow migrate on protnone reference with
           MPOL_PREFERRED_MANY policy", Donet Tom has optimized mempolicy's
           MPOL_PREFERRED_MANY mode, yielding almost doubled performance in
           one test.
      
         - In their series "Memory allocation profiling" Kent Overstreet and
           Suren Baghdasaryan have contributed a means of determining (via
           /proc/allocinfo) whereabouts in the kernel memory is being
           allocated: number of calls and amount of memory.
      
         - Matthew Wilcox has provided the series "Various significant MM
           patches" which does a number of rather unrelated things, but in
           largely similar code sites.
      
         - In his series "mm: page_alloc: freelist migratetype hygiene"
           Johannes Weiner has fixed the page allocator's handling of
           migratetype requests, with resulting improvements in compaction
           efficiency.
      
         - In the series "make the hugetlb migration strategy consistent"
           Baolin Wang has fixed a hugetlb migration issue, which should
           improve hugetlb allocation reliability.
      
         - Liu Shixin has hit an I/O meltdown caused by readahead in a
           memory-tight memcg. Addressed in the series "Fix I/O high when
           memory almost met memcg limit".
      
         - In the series "mm/filemap: optimize folio adding and splitting"
           Kairui Song has optimized pagecache insertion, yielding ~10%
           performance improvement in one test.
      
         - Baoquan He has cleaned up and consolidated the early zone
           initialization code in the series "mm/mm_init.c: refactor
           free_area_init_core()".
      
         - Baoquan has also redone some MM initializatio code in the series
           "mm/init: minor clean up and improvement".
      
         - MM helper cleanups from Christoph Hellwig in his series "remove
           follow_pfn".
      
         - More cleanups from Matthew Wilcox in the series "Various
           page->flags cleanups".
      
         - Vlastimil Babka has contributed maintainability improvements in the
           series "memcg_kmem hooks refactoring".
      
         - More folio conversions and cleanups in Matthew Wilcox's series:
      	"Convert huge_zero_page to huge_zero_folio"
      	"khugepaged folio conversions"
      	"Remove page_idle and page_young wrappers"
      	"Use folio APIs in procfs"
      	"Clean up __folio_put()"
      	"Some cleanups for memory-failure"
      	"Remove page_mapping()"
      	"More folio compat code removal"
      
         - David Hildenbrand chipped in with "fs/proc/task_mmu: convert
           hugetlb functions to work on folis".
      
         - Code consolidation and cleanup work related to GUP's handling of
           hugetlbs in Peter Xu's series "mm/gup: Unify hugetlb, part 2".
      
         - Rick Edgecombe has developed some fixes to stack guard gaps in the
           series "Cover a guard gap corner case".
      
         - Jinjiang Tu has fixed KSM's behaviour after a fork+exec in the
           series "mm/ksm: fix ksm exec support for prctl".
      
         - Baolin Wang has implemented NUMA balancing for multi-size THPs.
           This is a simple first-cut implementation for now. The series is
           "support multi-size THP numa balancing".
      
         - Cleanups to vma handling helper functions from Matthew Wilcox in
           the series "Unify vma_address and vma_pgoff_address".
      
         - Some selftests maintenance work from Dev Jain in the series
           "selftests/mm: mremap_test: Optimizations and style fixes".
      
         - Improvements to the swapping of multi-size THPs from Ryan Roberts
           in the series "Swap-out mTHP without splitting".
      
         - Kefeng Wang has significantly optimized the handling of arm64's
           permission page faults in the series
      	"arch/mm/fault: accelerate pagefault when badaccess"
      	"mm: remove arch's private VM_FAULT_BADMAP/BADACCESS"
      
         - GUP cleanups from David Hildenbrand in "mm/gup: consistently call
           it GUP-fast".
      
         - hugetlb fault code cleanups from Vishal Moola in "Hugetlb fault
           path to use struct vm_fault".
      
         - selftests build fixes from John Hubbard in the series "Fix
           selftests/mm build without requiring "make headers"".
      
         - Memory tiering fixes/improvements from Ho-Ren (Jack) Chuang in the
           series "Improved Memory Tier Creation for CPUless NUMA Nodes".
           Fixes the initialization code so that migration between different
           memory types works as intended.
      
         - David Hildenbrand has improved follow_pte() and fixed an errant
           driver in the series "mm: follow_pte() improvements and acrn
           follow_pte() fixes".
      
         - David also did some cleanup work on large folio mapcounts in his
           series "mm: mapcount for large folios + page_mapcount() cleanups".
      
         - Folio conversions in KSM in Alex Shi's series "transfer page to
           folio in KSM".
      
         - Barry Song has added some sysfs stats for monitoring multi-size
           THP's in the series "mm: add per-order mTHP alloc and swpout
           counters".
      
         - Some zswap cleanups from Yosry Ahmed in the series "zswap
           same-filled and limit checking cleanups".
      
         - Matthew Wilcox has been looking at buffer_head code and found the
           documentation to be lacking. The series is "Improve buffer head
           documentation".
      
         - Multi-size THPs get more work, this time from Lance Yang. His
           series "mm/madvise: enhance lazyfreeing with mTHP in madvise_free"
           optimizes the freeing of these things.
      
         - Kemeng Shi has added more userspace-visible writeback
           instrumentation in the series "Improve visibility of writeback".
      
         - Kemeng Shi then sent some maintenance work on top in the series
           "Fix and cleanups to page-writeback".
      
         - Matthew Wilcox reduces mmap_lock traffic in the anon vma code in
           the series "Improve anon_vma scalability for anon VMAs". Intel's
           test bot reported an improbable 3x improvement in one test.
      
         - SeongJae Park adds some DAMON feature work in the series
      	"mm/damon: add a DAMOS filter type for page granularity access recheck"
      	"selftests/damon: add DAMOS quota goal test"
      
         - Also some maintenance work in the series
      	"mm/damon/paddr: simplify page level access re-check for pageout"
      	"mm/damon: misc fixes and improvements"
      
         - David Hildenbrand has disabled some known-to-fail selftests ni the
           series "selftests: mm: cow: flag vmsplice() hugetlb tests as
           XFAIL".
      
         - memcg metadata storage optimizations from Shakeel Butt in "memcg:
           reduce memory consumption by memcg stats".
      
         - DAX fixes and maintenance work from Vishal Verma in the series
           "dax/bus.c: Fixups for dax-bus locking""
      
      * tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (426 commits)
        memcg, oom: cleanup unused memcg_oom_gfp_mask and memcg_oom_order
        selftests/mm: hugetlb_madv_vs_map: avoid test skipping by querying hugepage size at runtime
        mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_wp
        mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_fault
        selftests: cgroup: add tests to verify the zswap writeback path
        mm: memcg: make alloc_mem_cgroup_per_node_info() return bool
        mm/damon/core: fix return value from damos_wmark_metric_value
        mm: do not update memcg stats for NR_{FILE/SHMEM}_PMDMAPPED
        selftests: cgroup: remove redundant enabling of memory controller
        Docs/mm/damon/maintainer-profile: allow posting patches based on damon/next tree
        Docs/mm/damon/maintainer-profile: change the maintainer's timezone from PST to PT
        Docs/mm/damon/design: use a list for supported filters
        Docs/admin-guide/mm/damon/usage: fix wrong schemes effective quota update command
        Docs/admin-guide/mm/damon/usage: fix wrong example of DAMOS filter matching sysfs file
        selftests/damon: classify tests for functionalities and regressions
        selftests/damon/_damon_sysfs: use 'is' instead of '==' for 'None'
        selftests/damon/_damon_sysfs: find sysfs mount point from /proc/mounts
        selftests/damon/_damon_sysfs: check errors from nr_schemes file reads
        mm/damon/core: initialize ->esz_bp from damos_quota_init_priv()
        selftests/damon: add a test for DAMOS quota goal
        ...
      61307b7b