1. 22 May, 2024 4 commits
  2. 20 May, 2024 11 commits
  3. 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
  4. 18 May, 2024 17 commits
    • Linus Torvalds's avatar
      Merge tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6 · 0450d208
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "An important fix to address recent netfs regression (data corruption)"
      
      * tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix data corruption in read after invalidate
      0450d208
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 7991c92f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - more folio conversion patches
      
       - add support for FS_IOC_GETFSSYSFSPATH
      
       - mballoc cleaups and add more kunit tests
      
       - sysfs cleanups and bug fixes
      
       - miscellaneous bug fixes and cleanups
      
      * tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: fix error pointer dereference in ext4_mb_load_buddy_gfp()
        jbd2: add prefix 'jbd2' for 'shrink_type'
        jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
        ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super()
        ext4: remove calls to to set/clear the folio error flag
        ext4: propagate errors from ext4_sb_bread() in ext4_xattr_block_cache_find()
        ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
        jbd2: remove redundant assignement to variable err
        ext4: remove the redundant folio_wait_stable()
        ext4: fix potential unnitialized variable
        ext4: convert ac_buddy_page to ac_buddy_folio
        ext4: convert ac_bitmap_page to ac_bitmap_folio
        ext4: convert ext4_mb_init_cache() to take a folio
        ext4: convert bd_buddy_page to bd_buddy_folio
        ext4: convert bd_bitmap_page to bd_bitmap_folio
        ext4: open coding repeated check in next_linear_group
        ext4: use correct criteria name instead stale integer number in comment
        ext4: call ext4_mb_mark_free_simple to free continuous bits in found chunk
        ext4: add test_mb_mark_used_cost to estimate cost of mb_mark_used
        ext4: keep "prefetch_grp" and "nr" consistent
        ...
      7991c92f
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 61ea647e
      Linus Torvalds authored
      Pull nfsd updates from Chuck Lever:
       "This is a light release containing mostly optimizations, code clean-
        ups, and minor bug fixes. This development cycle has focused on non-
        upstream kernel work:
      
         1. Continuing to build upstream CI for NFSD, based on kdevops
      
         2. Backporting NFSD filecache-related fixes to selected LTS kernels
      
        One notable new feature in v6.10 NFSD is the addition of a new netlink
        protocol dedicated to configuring NFSD. A new user space tool,
        nfsdctl, is to be added to nfs-utils. Lots more to come here.
      
        As always I am very grateful to NFSD contributors, reviewers, testers,
        and bug reporters who participated during this cycle"
      
      * tag 'nfsd-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (29 commits)
        NFSD: Force all NFSv4.2 COPY requests to be synchronous
        SUNRPC: Fix gss_free_in_token_pages()
        NFS/knfsd: Remove the invalid NFS error 'NFSERR_OPNOTSUPP'
        knfsd: LOOKUP can return an illegal error value
        nfsd: set security label during create operations
        NFSD: Add COPY status code to OFFLOAD_STATUS response
        NFSD: Record status of async copy operation in struct nfsd4_copy
        SUNRPC: Remove comment for sp_lock
        NFSD: add listener-{set,get} netlink command
        SUNRPC: add a new svc_find_listener helper
        SUNRPC: introduce svc_xprt_create_from_sa utility routine
        NFSD: add write_version to netlink command
        NFSD: convert write_threads to netlink command
        NFSD: allow callers to pass in scope string to nfsd_svc
        NFSD: move nfsd_mutex handling into nfsd_svc callers
        lockd: host: Remove unnecessary statements'host = NULL;'
        nfsd: don't create nfsv4recoverydir in nfsdfs when not used.
        nfsd: optimise recalculate_deny_mode() for a common case
        nfsd: add tracepoint in mark_client_expired_locked
        nfsd: new tracepoint for check_slot_seqid
        ...
      61ea647e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 25f48746
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Aside from the usual things this has an arch update for
        __iowrite64_copy() used by the RDMA drivers.
      
        This API was intended to generate large 64 byte MemWr TLPs on PCI.
        These days most processors had done this by just repeating writel() in
        a loop. S390 and some new ARM64 designs require a special helper to
        get this to generate.
      
         - Small improvements and fixes for erdma, efa, hfi1, bnxt_re
      
         - Fix a UAF crash after module unload on leaking restrack entry
      
         - Continue adding full RDMA support in mana with support for EQs,
           GID's and CQs
      
         - Improvements to the mkey cache in mlx5
      
         - DSCP traffic class support in hns and several bug fixes
      
         - Cap the maximum number of MADs in the receive queue to avoid OOM
      
         - Another batch of rxe bug fixes from large scale testing
      
         - __iowrite64_copy() optimizations for write combining MMIO memory
      
         - Remove NULL checks before dev_put/hold()
      
         - EFA support for receive with immediate
      
         - Fix a recent memleaking regression in a cma error path"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (70 commits)
        RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdma use siw
        RDMA/IPoIB: Fix format truncation compilation errors
        bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq
        RDMA/efa: Support QP with unsolicited write w/ imm. receive
        IB/hfi1: Remove generic .ndo_get_stats64
        IB/hfi1: Do not use custom stat allocator
        RDMA/hfi1: Use RMW accessors for changing LNKCTL2
        RDMA/mana_ib: implement uapi for creation of rnic cq
        RDMA/mana_ib: boundary check before installing cq callbacks
        RDMA/mana_ib: introduce a helper to remove cq callbacks
        RDMA/mana_ib: create and destroy RNIC cqs
        RDMA/mana_ib: create EQs for RNIC CQs
        RDMA/core: Remove NULL check before dev_{put, hold}
        RDMA/ipoib: Remove NULL check before dev_{put, hold}
        RDMA/mlx5: Remove NULL check before dev_{put, hold}
        RDMA/mlx5: Track DCT, DCI and REG_UMR QPs as diver_detail resources.
        RDMA/core: Add an option to display driver-specific QPs in the rdmatool
        RDMA/efa: Add shutdown notifier
        RDMA/mana_ib: Fix missing ret value
        IB/mlx5: Use __iowrite64_copy() for write combining stores
        ...
      25f48746
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 56172ac1
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - convert to platform remove callback returning void
      
      * tag 'hsi-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: omap_ssi_port: Convert to platform remove callback returning void
        HSI: omap_ssi_core: Convert to platform remove callback returning void
      56172ac1
    • Linus Torvalds's avatar
      Merge tag 'for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 85d46148
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - core: simplify POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR handling
      
       - test-power: add POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR support
      
       - chrome EC drivers: add ID based probing
      
       - bq27xxx: simplify update loop to reduce I2C traffic
      
       - max8903 binding: fix GPIO polarity description
      
      * tag 'for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        dt-bindings: power: supply: max8903: specify flt-gpios as input
        power: supply: bq27xxx: Move health reading out of update loop
        power: supply: bq27xxx: Move cycle count reading out of update loop
        power: supply: bq27xxx: Move energy reading out of update loop
        power: supply: bq27xxx: Move charge reading out of update loop
        power: supply: bq27xxx: Move time reading out of update loop
        power: supply: bq27xxx: Move temperature reading out of update loop
        power: supply: cros_pchg: provide ID table for avoiding fallback match
        power: supply: cros_usbpd: provide ID table for avoiding fallback match
        power: supply: core: simplify charge_behaviour formatting
        power: supply: test-power: implement charge_behaviour property
      85d46148
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 619b92b9
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "I'm actually surprised this time. There aren't any new Qualcomm SoC
        clk drivers. And there's zero diff in the core clk framework.
      
        Instead we have new clk drivers for STM and Sophgo, with
        Samsung^WGoogle in third for the diffstat because they introduced HSI0
        and HSI2 clk drivers for Google's GS101 SoC (high speed interface
        things like PCIe, UFS, and MMC).
      
        Beyond those big diffs there's the usual updates to various clk
        drivers for incorrect parent descriptions or mising
        MODULE_DEVICE_TABLE()s, etc. Nothing in particular stands out as super
        interesting here.
      
        New Drivers:
         - STM32MP257 SoC clk driver
         - Airoha EN7581 SoC clk driver
         - Sophgo CV1800B, CV1812H and SG2000 SoC clk driver
         - Loongson-2k0500 and Loongson-2k2000 SoC clk driver
         - Add HSI0 and HSI2 clock controllers for Google GS101
         - Add i.MX95 BLK CTL clock driver
      
        Updates:
         - Allocate clk_ops dynamically for SCMI clk driver
         - Add support in qcom RCG and RCG2 for multiple configurations for
           the same frequency
         - Use above support for IPQ8074 NSS port 5 and 6 clocks to resolve
           issues
         - Fix the Qualcomm APSS IPQ5018 PLL to fix boot failures of some
           boards
         - Cleanups and fixes for Qualcomm Stromer PLLs
         - Reduce max CPU frequency on Qualcomm APSS IPQ5018
         - Fix Kconfig dependencies of Qualcomm SM8650 GPU and SC8280XP camera
           clk drivers
         - Make Qualcomm MSM8998 Venus clocks functional
         - Cleanup downstream remnants related to DisplayPort across Qualcomm
           SM8450, SM6350, SM8550, and SM8650
         - Reuse the Huayra APSS register map on Qualcomm MSM8996 CBF PLL
         - Use a specific Qualcomm QCS404 compatible for the otherwise generic
           HFPLL
         - Remove Qualcomm SM8150 CPUSS AHB clk as it is unused
         - Remove an unused field in the Qualcomm RPM clk driver
         - Add missing MODULE_DEVICE_TABLE to Qualcomm MSM8917 and MSM8953
           global clock controller drivers
         - Allow choice of manual or firmware-driven control over PLLs, needed
           to fully implement CPU clock controllers on Exynos850
         - Correct PLL clock IDs on ExynosAutov9
         - Propagate certain clock rates to allow setting proper SPI clock
           rates on Google GS101
         - Mark certain Google GS101 clocks critical
         - Convert old S3C64xx clock controller bindings to DT schema
         - Add new PLL rate and missing mux on Rockchip rk3568
         - Add missing reset line on Rockchip rk3588
         - Removal of an unused field in struct rockchip_mmc_clock
         - Amlogic s4/a1: add regmap maximum register for proper debugfs dump
         - Amlogic s4: add MODULE_DEVICE_TABLE() on pll and periph controllers
         - Amlogic pll driver: print clock name on lock error to help debug
         - Amlogic vclk: finish dsi clock path support
         - Amlogic license: fix occurence "GPL v2" as reported by checkpatch
         - Add PM runtime support to i.MX8MP Audiomix
         - Add DT schema for i.MX95 Display Master Block Control
         - Convert to platform remove callback returning void for i.MX8MP
           Audiomix
         - Add SPI (MSIOF) and external interrupt (INTC-EX) clocks on Renesas
           R-Car V4M
         - Add interrupt controller (PLIC) clock and reset on Renesas RZ/Five
         - Prepare power domain support for Renesas RZ/G2L family members, and
           add actual support on Renesas RZ/G3S SoC
         - Add thermal, serial (SCIF), and timer (CMT/TMU) clocks on Renesas
           R-Car V4M
         - Add additional constraints to Allwinner A64 PLL MIPI clock
         - Fix autoloading sunxi-ng clocks when build as a module"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (118 commits)
        clk: samsung: Don't register clkdev lookup for the fixed rate clocks
        clk, reset: microchip: mpfs: fix incorrect preprocessor conditions
        clk: qcom: clk-alpha-pll: fix rate setting for Stromer PLLs
        clk: qcom: apss-ipq-pll: fix PLL rate for IPQ5018
        clk: qcom: Fix SM_GPUCC_8650 dependencies
        clk: qcom: Fix SC_CAMCC_8280XP dependencies
        dt-bindings: clocks: stm32mp25: add access-controllers description
        clock, reset: microchip: move all mpfs reset code to the reset subsystem
        clk: samsung: gs101: drop unused HSI2 clock parent data
        clk: rockchip: rk3568: Add PLL rate for 724 MHz
        clk: rockchip: Remove an unused field in struct rockchip_mmc_clock
        dt-bindings: clock: fixed: Define a preferred node name
        clk: meson: s4: fix module autoloading
        clk: samsung: gs101: mark some apm UASC and XIU clocks critical
        clk: imx: imx8mp: Convert to platform remove callback returning void
        clk: imx: imx8mp: Switch to RUNTIME_PM_OPS()
        clk: bcm: rpi: Assign ->num before accessing ->hws
        clk: bcm: dvp: Assign ->num before accessing ->hws
        clk: samsung: gs101: add support for cmu_hsi2
        clk: samsung: gs101: add support for cmu_hsi0
        ...
      619b92b9
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · ff9a7930
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Avoid 'constexpr', which is a keyword in C23
      
       - Allow 'dtbs_check' and 'dt_compatible_check' run independently of
         'dt_binding_check'
      
       - Fix weak references to avoid GOT entries in position-independent code
         generation
      
       - Convert the last use of 'optional' property in arch/sh/Kconfig
      
       - Remove support for the 'optional' property in Kconfig
      
       - Remove support for Clang's ThinLTO caching, which does not work with
         the .incbin directive
      
       - Change the semantics of $(src) so it always points to the source
         directory, which fixes Makefile inconsistencies between upstream and
         downstream
      
       - Fix 'make tar-pkg' for RISC-V to produce a consistent package
      
       - Provide reasonable default coverage for objtool, sanitizers, and
         profilers
      
       - Remove redundant OBJECT_FILES_NON_STANDARD, KASAN_SANITIZE, etc.
      
       - Remove the last use of tristate choice in drivers/rapidio/Kconfig
      
       - Various cleanups and fixes in Kconfig
      
      * tag 'kbuild-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (46 commits)
        kconfig: use sym_get_choice_menu() in sym_check_prop()
        rapidio: remove choice for enumeration
        kconfig: lxdialog: remove initialization with A_NORMAL
        kconfig: m/nconf: merge two item_add_str() calls
        kconfig: m/nconf: remove dead code to display value of bool choice
        kconfig: m/nconf: remove dead code to display children of choice members
        kconfig: gconf: show checkbox for choice correctly
        kbuild: use GCOV_PROFILE and KCSAN_SANITIZE in scripts/Makefile.modfinal
        Makefile: remove redundant tool coverage variables
        kbuild: provide reasonable defaults for tool coverage
        modules: Drop the .export_symbol section from the final modules
        kconfig: use menu_list_for_each_sym() in sym_check_choice_deps()
        kconfig: use sym_get_choice_menu() in conf_write_defconfig()
        kconfig: add sym_get_choice_menu() helper
        kconfig: turn defaults and additional prompt for choice members into error
        kconfig: turn missing prompt for choice members into error
        kconfig: turn conf_choice() into void function
        kconfig: use linked list in sym_set_changed()
        kconfig: gconf: use MENU_CHANGED instead of SYMBOL_CHANGED
        kconfig: gconf: remove debug code
        ...
      ff9a7930
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0cc6f45c
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core:
         - IOMMU memory usage observability - This will make the memory used
           for IO page tables explicitly visible.
         - Simplify arch_setup_dma_ops()
      
        Intel VT-d:
         - Consolidate domain cache invalidation
         - Remove private data from page fault message
         - Allocate DMAR fault interrupts locally
         - Cleanup and refactoring
      
        ARM-SMMUv2:
         - Support for fault debugging hardware on Qualcomm implementations
         - Re-land support for the ->domain_alloc_paging() callback
      
        ARM-SMMUv3:
         - Improve handling of MSI allocation failure
         - Drop support for the "disable_bypass" cmdline option
         - Major rework of the CD creation code, following on directly from
           the STE rework merged last time around.
         - Add unit tests for the new STE/CD manipulation logic
      
        AMD-Vi:
         - Final part of SVA changes with generic IO page fault handling
      
        Renesas IPMMU:
         - Add support for R8A779H0 hardware
      
        ... and a couple smaller fixes and updates across the sub-tree"
      
      * tag 'iommu-updates-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (80 commits)
        iommu/arm-smmu-v3: Make the kunit into a module
        arm64: Properly clean up iommu-dma remnants
        iommu/amd: Enable Guest Translation after reading IOMMU feature register
        iommu/vt-d: Decouple igfx_off from graphic identity mapping
        iommu/amd: Fix compilation error
        iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry
        iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd()
        iommu/arm-smmu-v3: Move the CD generation for SVA into a function
        iommu/arm-smmu-v3: Allocate the CD table entry in advance
        iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr()
        iommu/arm-smmu-v3: Consolidate clearing a CD table entry
        iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function
        iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry()
        iommu/arm-smmu-v3: Add an ops indirection to the STE code
        iommu/arm-smmu-qcom: Don't build debug features as a kernel module
        iommu/amd: Add SVA domain support
        iommu: Add ops->domain_alloc_sva()
        iommu/amd: Initial SVA support for AMD IOMMU
        iommu/amd: Add support for enable/disable IOPF
        iommu/amd: Add IO page fault notifier handler
        ...
      0cc6f45c
    • Linus Torvalds's avatar
      Merge tag 'random-6.10-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · f0cd69b8
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
      
       - The vmgenid driver can now be bound using device tree, rather than
         just ACPI.
      
         The improvement, from Sudan Landge, lets Amazon's Firecracker VMM
         make use of the virtual device without having to expose an otherwise
         unused ACPI stack in their "micro VM".
      
      * tag 'random-6.10-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        virt: vmgenid: add support for devicetree bindings
        dt-bindings: rng: Add vmgenid support
        virt: vmgenid: change implementation to use a platform driver
      f0cd69b8
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 2fc0e789
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "This brings ioctl control to Landlock, contributed by Günther Noack.
        This also adds him as a Landlock reviewer, and fixes an issue in the
        sample"
      
      * tag 'landlock-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        MAINTAINERS: Add Günther Noack as Landlock reviewer
        fs/ioctl: Add a comment to keep the logic in sync with LSM policies
        MAINTAINERS: Notify Landlock maintainers about changes to fs/ioctl.c
        landlock: Document IOCTL support
        samples/landlock: Add support for LANDLOCK_ACCESS_FS_IOCTL_DEV
        selftests/landlock: Exhaustive test for the IOCTL allow-list
        selftests/landlock: Check IOCTL restrictions for named UNIX domain sockets
        selftests/landlock: Test IOCTLs on named pipes
        selftests/landlock: Test ioctl(2) and ftruncate(2) with open(O_PATH)
        selftests/landlock: Test IOCTL with memfds
        selftests/landlock: Test IOCTL support
        landlock: Add IOCTL access right for character and block devices
        samples/landlock: Fix incorrect free in populate_ruleset_net
      2fc0e789
    • Linus Torvalds's avatar
      Merge tag 'net-accept-more-20240515' of git://git.kernel.dk/linux · 89721e30
      Linus Torvalds authored
      Pull more io_uring updates from Jens Axboe:
       "This adds support for IORING_CQE_F_SOCK_NONEMPTY for io_uring accept
        requests.
      
        This is very similar to previous work that enabled the same hint for
        doing receives on sockets. By far the majority of the work here is
        refactoring to enable the networking side to pass back whether or not
        the socket had more pending requests after accepting the current one,
        the last patch just wires it up for io_uring.
      
        Not only does this enable applications to know whether there are more
        connections to accept right now, it also enables smarter logic for
        io_uring multishot accept on whether to retry immediately or wait for
        a poll trigger"
      
      * tag 'net-accept-more-20240515' of git://git.kernel.dk/linux:
        io_uring/net: wire up IORING_CQE_F_SOCK_NONEMPTY for accept
        net: pass back whether socket was empty post accept
        net: have do_accept() take a struct proto_accept_arg argument
        net: change proto and proto_ops accept type
      89721e30
    • Linus Torvalds's avatar
      kprobe/ftrace: fix build error due to bad function definition · 4b377b48
      Linus Torvalds authored
      Commit 1a7d0890 ("kprobe/ftrace: bail out if ftrace was killed")
      introduced a bad K&R function definition, which we haven't accepted in a
      long long time.
      
      Gcc seems to let it slide, but clang notices with the appropriate error:
      
        kernel/kprobes.c:1140:24: error: a function declaration without a prototype is deprecated in all >
         1140 | void kprobe_ftrace_kill()
              |                        ^
              |                         void
      
      but this commit was apparently never in linux-next before it was sent
      upstream, so it didn't get the appropriate build test coverage.
      
      Fixes: 1a7d0890 kprobe/ftrace: bail out if ftrace was killed
      Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
      Cc: Masami Hiramatsu (Google) <mhiramat@kernel.org>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Steven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b377b48
    • Linus Torvalds's avatar
      Merge tag 'net-6.10-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · f08a1e91
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Current release - regressions:
      
         - virtio_net: fix missed error path rtnl_unlock after control queue
           locking rework
      
        Current release - new code bugs:
      
         - bpf: fix KASAN slab-out-of-bounds in percpu_array_map_gen_lookup,
           caused by missing nested map handling
      
         - drv: dsa: correct initialization order for KSZ88x3 ports
      
        Previous releases - regressions:
      
         - af_packet: do not call packet_read_pending() from
           tpacket_destruct_skb() fix performance regression
      
         - ipv6: fix route deleting failure when metric equals 0, don't assume
           0 means not set / default in this case
      
        Previous releases - always broken:
      
         - bridge: couple of syzbot-driven fixes"
      
      * tag 'net-6.10-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (30 commits)
        selftests: net: local_termination: annotate the expected failures
        net: dsa: microchip: Correct initialization order for KSZ88x3 ports
        MAINTAINERS: net: Update reviewers for TI's Ethernet drivers
        dt-bindings: net: ti: Update maintainers list
        l2tp: fix ICMP error handling for UDP-encap sockets
        net: txgbe: fix to control VLAN strip
        net: wangxun: match VLAN CTAG and STAG features
        net: wangxun: fix to change Rx features
        af_packet: do not call packet_read_pending() from tpacket_destruct_skb()
        virtio_net: Fix missed rtnl_unlock
        netrom: fix possible dead-lock in nr_rt_ioctl()
        idpf: don't skip over ethtool tcp-data-split setting
        dt-bindings: net: qcom: ethernet: Allow dma-coherent
        bonding: fix oops during rmmod
        net/ipv6: Fix route deleting failure when metric equals 0
        selftests/net: reduce xfrm_policy test time
        selftests/bpf: Adjust btf_dump test to reflect recent change in file_operations
        selftests/bpf: Adjust test_access_variable_array after a kernel function name change
        selftests/net/lib: no need to record ns name if it already exist
        net: qrtr: ns: Fix module refcnt
        ...
      f08a1e91
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 26aa834f
      Linus Torvalds authored
      Pull tracing tool updates from Steven Rostedt:
       "Specific for timerlat:
      
         - Improve the output of timerlat top by adding a missing \n, and by
           avoiding printing color-formatting characters where they are
           translated to regular characters.
      
         - Improve timerlat auto-analysis output by replacing '\t' with spaces
           to avoid copy-and-paste issues when reporting problems.
      
         - Make the user-space (-u) option the default, as it is the most
           complete test. Add a -k option to use the in-kernel workload.
      
         - On timerlat top and hist, add a summary with the overall results.
           For instance, the minimum value for all CPUs, the overall average
           and the maximum value from all CPUs.
      
         - timerlat hist was printing initial values (i.e., 0 as max, and ~0
           as min) if the trace stopped before the first Ret-User event. This
           problem was fixed by printing the " - " no value string to the
           output if that was the case.
      
        For all RTLA tools:
      
         - Add a --warm-up <seconds> option, allowing the workload to run for
           <seconds> before starting to collect results.
      
         - Add a --trace-buffer-size option, allowing the user to set the
           tracing buffer size for -t option. This option is mainly useful for
           reducing the trace file. Now rtla depends on libtracefs >= 1.6.
      
         - Fix the -t [trace_file] parsing, now it does not require the '='
           before the option parameter, and better handles the multiple ways a
           user can pass the trace_file.txt"
      
      * tag 'trace-tools-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        rtla: Documentation: Fix -t, --trace
        rtla: Fix -t\--trace[=file]
        rtla/timerlat: Fix histogram report when a cpu count is 0
        rtla: Add --trace-buffer-size option
        rtla/timerlat: Make user-space threads the default
        rtla: Add the --warm-up option
        rtla/timerlat: Add a summary for hist mode
        rtla/timerlat: Add a summary for top mode
        rtla/timerlat: Use pretty formatting only on interactive tty
        rtla/auto-analysis: Replace \t with spaces
        rtla/timerlat: Simplify "no value" printing on top
      26aa834f
    • Linus Torvalds's avatar
      Merge tag 'trace-user-events-v6.10' of... · fa3889d9
      Linus Torvalds authored
      Merge tag 'trace-user-events-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull tracing user-event updates from Steven Rostedt:
      
       - Minor update to the user_events interface
      
        The ABI of creating a user event states that the fields are separated
        by semicolons, and spaces should be ignored.
      
        But the parsing expected at least one space to be there (which was
        incorrect). Fix the reading of the string to handle fields separated
        by semicolons but no space between them.
      
        This does extend the API sightly as now "field;field" will now be
        parsed and not cause an error. But it should not cause any regressions
        as no logic should expect it to fail.
      
        Note, that the logic that parses the event fields to create the
        trace_event works with no spaces after the semi-colon. It is
        the logic that tests against existing events that is inconsistent.
        This causes registering an event without using spaces to succeed
        if it doesn't exist, but makes the same call that tries to register
        to the same event, but doesn't use spaces, fail.
      
      * tag 'trace-user-events-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        selftests/user_events: Add non-spacing separator check
        tracing/user_events: Fix non-spaced field matching
      fa3889d9
    • Linus Torvalds's avatar
      Merge tag 'trace-ringbuffer-v6.10' of... · 53683e40
      Linus Torvalds authored
      Merge tag 'trace-ringbuffer-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull tracing ring buffer updates from Steven Rostedt:
       "Add ring_buffer memory mappings.
      
        The tracing ring buffer was created based on being mostly used with
        the splice system call. It is broken up into page ordered sub-buffers
        and the reader swaps a new sub-buffer with an existing sub-buffer
        that's part of the write buffer. It then has total access to the
        swapped out sub-buffer and can do copyless movements of the memory
        into other mediums (file system, network, etc).
      
        The buffer is great for passing around the ring buffer contents in the
        kernel, but is not so good for when the consumer is the user space
        task itself.
      
        A new interface is added that allows user space to memory map the ring
        buffer. It will get all the write sub-buffers as well as reader
        sub-buffer (that is not written to). It can send an ioctl to change
        which sub-buffer is the new reader sub-buffer.
      
        The ring buffer is read only to user space. It only needs to call the
        ioctl when it is finished with a sub-buffer and needs a new sub-buffer
        that the writer will not write over.
      
        A self test program was also created for testing and can be used as an
        example for the interface to user space. The libtracefs (external to
        the kernel) also has code that interacts with this, although it is
        disabled until the interface is in a official release. It can be
        enabled by compiling the library with a special flag. This was used
        for testing applications that perform better with the buffer being
        mapped.
      
        Memory mapped buffers have limitations. The main one is that it can
        not be used with the snapshot logic. If the buffer is mapped,
        snapshots will be disabled. If any logic is set to trigger snapshots
        on a buffer, that buffer will not be allowed to be mapped"
      
      * tag 'trace-ringbuffer-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Add cast to unsigned long addr passed to virt_to_page()
        ring-buffer: Have mmapped ring buffer keep track of missed events
        ring-buffer/selftest: Add ring-buffer mapping test
        Documentation: tracing: Add ring-buffer mapping
        tracing: Allow user-space mapping of the ring-buffer
        ring-buffer: Introducing ring-buffer mapping functions
        ring-buffer: Allocate sub-buffers with __GFP_COMP
      53683e40