1. 27 Mar, 2022 4 commits
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.18-2022-03-26' of... · 7b58b82b
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.18-2022-03-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "New features:
      
        perf ftrace:
      
         - Add -n/--use-nsec option to the 'latency' subcommand.
      
           Default: usecs:
      
           $ sudo perf ftrace latency -T dput -a sleep 1
           #   DURATION     |      COUNT | GRAPH                          |
                0 - 1    us |    2098375 | #############################  |
                1 - 2    us |         61 |                                |
                2 - 4    us |         33 |                                |
                4 - 8    us |         13 |                                |
                8 - 16   us |        124 |                                |
               16 - 32   us |        123 |                                |
               32 - 64   us |          1 |                                |
               64 - 128  us |          0 |                                |
              128 - 256  us |          1 |                                |
              256 - 512  us |          0 |                                |
      
           Better granularity with nsec:
      
           $ sudo perf ftrace latency -T dput -a -n sleep 1
           #   DURATION     |      COUNT | GRAPH                          |
                0 - 1    us |          0 |                                |
                1 - 2    ns |          0 |                                |
                2 - 4    ns |          0 |                                |
                4 - 8    ns |          0 |                                |
                8 - 16   ns |          0 |                                |
               16 - 32   ns |          0 |                                |
               32 - 64   ns |          0 |                                |
               64 - 128  ns |    1163434 | ##############                 |
              128 - 256  ns |     914102 | #############                  |
              256 - 512  ns |        884 |                                |
              512 - 1024 ns |        613 |                                |
                1 - 2    us |         31 |                                |
                2 - 4    us |         17 |                                |
                4 - 8    us |          7 |                                |
                8 - 16   us |        123 |                                |
               16 - 32   us |         83 |                                |
      
        perf lock:
      
         - Add -c/--combine-locks option to merge lock instances in the same
           class into a single entry.
      
           # perf lock report -c
                          Name acquired contended avg wait(ns) total wait(ns) max wait(ns) min wait(ns)
      
                 rcu_read_lock   251225         0            0              0            0            0
            hrtimer_bases.lock    39450         0            0              0            0            0
           &sb->s_type->i_l...    10301         1          662            662          662          662
              ptlock_ptr(page)    10173         2          701           1402          760          642
           &(ei->i_block_re...     8732         0            0              0            0            0
                  &xa->xa_lock     8088         0            0              0            0            0
                   &base->lock     6705         0            0              0            0            0
                   &p->pi_lock     5549         0            0              0            0            0
           &dentry->d_lockr...     5010         4         1274           5097         1844          789
                     &ep->lock     3958         0            0              0            0            0
      
            - Add -F/--field option to customize the list of fields to output:
      
           $ perf lock report -F contended,wait_max -k avg_wait
                           Name contended max wait(ns) avg wait(ns)
      
                 slock-AF_INET6         1        23543        23543
              &lruvec->lru_lock         5        18317        11254
                 slock-AF_INET6         1        10379        10379
                     rcu_node_1         1         2104         2104
            &dentry->d_lockr...         1         1844         1844
            &dentry->d_lockr...         1         1672         1672
               &newf->file_lock        15         2279         1025
            &dentry->d_lockr...         1          792          792
      
         - Add --synth=no option for record, as there is no need to symbolize,
           lock names comes from the tracepoints.
      
        perf record:
      
         - Threaded recording, opt-in, via the new --threads command line
           option.
      
         - Improve AMD IBS (Instruction-Based Sampling) error handling
           messages.
      
        perf script:
      
         - Add 'brstackinsnlen' field (use it with -F) for branch stacks.
      
         - Output branch sample type in 'perf script'.
      
        perf report:
      
         - Add "addr_from" and "addr_to" sort dimensions.
      
         - Print branch stack entry type in 'perf report --dump-raw-trace'
      
         - Fix symbolization for chrooted workloads.
      
        Hardware tracing:
      
        Intel PT:
      
         - Add CFE (Control Flow Event) and EVD (Event Data) packets support.
      
         - Add MODE.Exec IFLAG bit support.
      
           Explanation about these features from the "Intel® 64 and IA-32
           architectures software developer’s manual combined volumes: 1, 2A,
           2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4" PDF at:
      
              https://cdrdv2.intel.com/v1/dl/getContent/671200
      
           At page 3951:
            "32.2.4
      
             Event Trace is a capability that exposes details about the
             asynchronous events, when they are generated, and when their
             corresponding software event handler completes execution. These
             include:
      
              o Interrupts, including NMI and SMI, including the interrupt
                vector when defined.
      
              o Faults, exceptions including the fault vector.
      
                 - Page faults additionally include the page fault address,
                   when in context.
      
              o Event handler returns, including IRET and RSM.
      
              o VM exits and VM entries.¹
      
                 - VM exits include the values written to the “exit reason”
                   and “exit qualification” VMCS fields. INIT and SIPI events.
      
              o TSX aborts, including the abort status returned for the RTM
                instructions.
      
              o Shutdown.
      
             Additionally, it provides indication of the status of the
             Interrupt Flag (IF), to indicate when interrupts are masked"
      
        ARM CoreSight:
      
         - Use advertised caps/min_interval as default sample_period on ARM
           spe.
      
         - Update deduction of TRCCONFIGR register for branch broadcast on
           ARM's CoreSight ETM.
      
        Vendor Events (JSON):
      
        Intel:
      
         - Update events and metrics for: Alderlake, Broadwell, Broadwell DE,
           BroadwellX, CascadelakeX, Elkhartlake, Bonnell, Goldmont,
           GoldmontPlus, Westmere EP-DP, Haswell, HaswellX, Icelake, IcelakeX,
           Ivybridge, Ivytown, Jaketown, Knights Landing, Nehalem EP,
           Sandybridge, Silvermont, Skylake, Skylake Server, SkylakeX,
           Tigerlake, TremontX, Westmere EP-SP, and Westmere EX.
      
        ARM:
      
         - Add support for HiSilicon CPA PMU aliasing.
      
        perf stat:
      
         - Fix forked applications enablement of counters.
      
         - The 'slots' should only be printed on a different order than the
           one specified on the command line when 'topdown' events are
           present, fix it.
      
        Miscellaneous:
      
         - Sync msr-index, cpufeatures header files with the kernel sources.
      
         - Stop using some deprecated libbpf APIs in 'perf trace'.
      
         - Fix some spelling mistakes.
      
         - Refactor the maps pointers usage to pave the way for using refcount
           debugging.
      
         - Only offer the --tui option on perf top, report and annotate when
           perf was built with libslang.
      
         - Don't mention --to-ctf in 'perf data --help' when not linking with
           the required library, libbabeltrace.
      
         - Use ARRAY_SIZE() instead of ad hoc equivalent, spotted by
           array_size.cocci.
      
         - Enhance the matching of sub-commands abbreviations:
      	'perf c2c rec' -> 'perf c2c record'
      	'perf c2c recport -> error
      
         - Set build-id using build-id header on new mmap records.
      
         - Fix generation of 'perf --version' string.
      
        perf test:
      
         - Add test for the arm_spe event.
      
         - Add test to check unwinding using fame-pointer (fp) mode on arm64.
      
         - Make metric testing more robust in 'perf test'.
      
         - Add error message for unsupported branch stack cases.
      
        libperf:
      
         - Add API for allocating new thread map array.
      
         - Fix typo in perf_evlist__open() failure error messages in libperf
           tests.
      
        perf c2c:
      
         - Replace bitmap_weight() with bitmap_empty() where appropriate"
      
      * tag 'perf-tools-for-v5.18-2022-03-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (143 commits)
        perf evsel: Improve AMD IBS (Instruction-Based Sampling) error handling messages
        perf python: Add perf_env stubs that will be needed in evsel__open_strerror()
        perf tools: Enhance the matching of sub-commands abbreviations
        libperf tests: Fix typo in perf_evlist__open() failure error messages
        tools arm64: Import cputype.h
        perf lock: Add -F/--field option to control output
        perf lock: Extend struct lock_key to have print function
        perf lock: Add --synth=no option for record
        tools headers cpufeatures: Sync with the kernel sources
        tools headers cpufeatures: Sync with the kernel sources
        perf stat: Fix forked applications enablement of counters
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        perf evsel: Make evsel__env() always return a valid env
        perf build-id: Fix spelling mistake "Cant" -> "Can't"
        perf header: Fix spelling mistake "could't" -> "couldn't"
        perf script: Add 'brstackinsnlen' for branch stacks
        perf parse-events: Move slots only with topdown
        perf ftrace latency: Update documentation
        perf ftrace latency: Add -n/--use-nsec option
        perf tools: Fix version kernel tag
        ...
      7b58b82b
    • Linus Torvalds's avatar
      Merge tag 'memblock-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 02f9a04d
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "Test suite and a small cleanup:
      
         - A small cleanup of unused variable in __next_mem_pfn_range_in_zone
      
         - Initial test suite to simulate memblock behaviour in userspace"
      
      * tag 'memblock-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock: (27 commits)
        memblock tests: Add TODO and README files
        memblock tests: Add memblock_alloc_try_nid tests for bottom up
        memblock tests: Add memblock_alloc_try_nid tests for top down
        memblock tests: Add memblock_alloc_from tests for bottom up
        memblock tests: Add memblock_alloc_from tests for top down
        memblock tests: Add memblock_alloc tests for bottom up
        memblock tests: Add memblock_alloc tests for top down
        memblock tests: Add simulation of physical memory
        memblock tests: Split up reset_memblock function
        memblock tests: Fix testing with 32-bit physical addresses
        memblock: __next_mem_pfn_range_in_zone: remove unneeded local variable nid
        memblock tests: Add memblock_free tests
        memblock tests: Add memblock_add_node test
        memblock tests: Add memblock_remove tests
        memblock tests: Add memblock_reserve tests
        memblock tests: Add memblock_add tests
        memblock tests: Add memblock reset function
        memblock tests: Add skeleton of the memblock simulator
        tools/include: Add debugfs.h stub
        tools/include: Add pfn.h stub
        ...
      02f9a04d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of https://github.com/openrisc/linux · 88b3be5c
      Linus Torvalds authored
      Pull OpenRISC updates from Stafford Horne:
       "Not much for OpenRISC this merge window, I do have some things on the
        back burner like sparse warning cleanups and new defconfigs. But I
        didn't get time to polish the patches off for this round. There are
        OpenRISC updates coming in via other queues like removal of set_fs()
        and possibly new generic ticket locks.
      
        This just has a small fixup to remove duplicate initializer in memcpy
        from Kuniyuki Iwashima"
      
      * tag 'for-linus' of https://github.com/openrisc/linux:
        openrisc/boot: Remove unnecessary initialisation in memcpy().
      88b3be5c
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 70010521
      Linus Torvalds authored
      Pull x86 CET-IBT (Control-Flow-Integrity) support from Peter Zijlstra:
       "Add support for Intel CET-IBT, available since Tigerlake (11th gen),
        which is a coarse grained, hardware based, forward edge
        Control-Flow-Integrity mechanism where any indirect CALL/JMP must
        target an ENDBR instruction or suffer #CP.
      
        Additionally, since Alderlake (12th gen)/Sapphire-Rapids, speculation
        is limited to 2 instructions (and typically fewer) on branch targets
        not starting with ENDBR. CET-IBT also limits speculation of the next
        sequential instruction after the indirect CALL/JMP [1].
      
        CET-IBT is fundamentally incompatible with retpolines, but provides,
        as described above, speculation limits itself"
      
      [1] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html
      
      * tag 'x86_core_for_5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (53 commits)
        kvm/emulate: Fix SETcc emulation for ENDBR
        x86/Kconfig: Only allow CONFIG_X86_KERNEL_IBT with ld.lld >= 14.0.0
        x86/Kconfig: Only enable CONFIG_CC_HAS_IBT for clang >= 14.0.0
        kbuild: Fixup the IBT kbuild changes
        x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy
        x86: Remove toolchain check for X32 ABI capability
        x86/alternative: Use .ibt_endbr_seal to seal indirect calls
        objtool: Find unused ENDBR instructions
        objtool: Validate IBT assumptions
        objtool: Add IBT/ENDBR decoding
        objtool: Read the NOENDBR annotation
        x86: Annotate idtentry_df()
        x86,objtool: Move the ASM_REACHABLE annotation to objtool.h
        x86: Annotate call_on_stack()
        objtool: Rework ASM_REACHABLE
        x86: Mark __invalid_creds() __noreturn
        exit: Mark do_group_exit() __noreturn
        x86: Mark stop_this_cpu() __noreturn
        objtool: Ignore extra-symbol code
        objtool: Rename --duplicate to --lto
        ...
      70010521
  2. 26 Mar, 2022 18 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · f0228146
      Linus Torvalds authored
      Pull trace event string verifier fix from Steven Rostedt:
       "The run-time string verifier checks all trace event formats as
        they are read from the tracing file to make sure that the %s pointers
        are not reading something that no longer exists.
      
        However, it failed to account for the valid case of '%*.s' where the
        length given is zero, and the string is NULL. It incorrectly flagged
        it as a null pointer dereference and gave a WARN_ON()"
      
      * tag 'trace-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Have trace event string test handle zero length strings
      f0228146
    • Linus Torvalds's avatar
      Merge tag 'usb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 710f5d62
      Linus Torvalds authored
      Pull USB/Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt changes for 5.18-rc1.
      
        Nothing major in here, just lots of little improvements and cleanups
        and new device support. Highlights are:
      
         - list iterator fixups for when we walk past the end of the list (a
           common problem that was cut/pasted in almost all USB gadget
           drivers)
      
         - xen USB driver "hardening" for malicious hosts
      
         - xhci driver updates and fixes for more hardware types
      
         - xhci debug cable fixes to make it actually work again
      
         - usb gadget audio driver improvements
      
         - usb gadget storage fixes to work with OS-X
      
         - lots of other small usb gadget fixes and updates
      
         - USB DWC3 driver improvements for more hardware types
      
         - Lots of other small USB driver improvements
      
         - DTS updates for some USB platforms
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (172 commits)
        usb: gadget: fsl_qe_udc: Add missing semicolon in qe_ep_dequeue()
        dt-bindings: usb: mtk-xhci: add compatible for mt8186
        usb: dwc3: Issue core soft reset before enabling run/stop
        usb: gadget: Makefile: remove ccflags-y
        USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
        usb: gadget: eliminate anonymous module_init & module_exit
        usb: usbip: eliminate anonymous module_init & module_exit
        xen/usb: harden xen_hcd against malicious backends
        usb: dwc3: gadget: Wait for ep0 xfers to complete during dequeue
        usb: dwc3: gadget: move cmd_endtransfer to extra function
        usb: dwc3: gadget: ep_queue simplify isoc start condition
        xen/usb: don't use arbitrary_virt_to_machine()
        usb: isp1760: remove redundant max_packet() macro
        usb: oxu210hp-hcd: remove redundant call to max_packet() macro
        usb: common: usb-conn-gpio: Make VBUS supply completely optional
        USB: storage: ums-realtek: fix error code in rts51x_read_mem()
        usb: early: xhci-dbc: Fix xdbc number parsing
        usb: early: xhci-dbc: Remove duplicate keep parsing
        x86/tsc: Be consistent about use_tsc_delay()
        usb: gadget: udc: s3c2410: remove usage of list iterator past the loop body
        ...
      710f5d62
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 5627ecb8
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - tracepoints when Linux acts as an I2C client
      
       - added support for AMD PSP
      
       - whole subsystem now uses generic_handle_irq_safe()
      
       - piix4 driver gained MMIO access enabling so far missed controllers
         with AMD chipsets
      
       - a bulk of device driver updates, refactorization, and fixes.
      
      * 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (61 commits)
        i2c: mux: demux-pinctrl: do not deactivate a master that is not active
        i2c: meson: Fix wrong speed use from probe
        i2c: add tracepoints for I2C slave events
        i2c: designware: Remove code duplication
        i2c: cros-ec-tunnel: Fix syntax errors in comments
        MAINTAINERS: adjust XLP9XX I2C DRIVER after removing the devicetree binding
        i2c: designware: Mark dw_i2c_plat_{suspend,resume}() as __maybe_unused
        i2c: mediatek: Add i2c compatible for Mediatek MT8168
        dt-bindings: i2c: update bindings for MT8168 SoC
        i2c: mt65xx: Simplify with clk-bulk
        i2c: i801: Drop two outdated comments
        i2c: xiic: Make bus names unique
        i2c: i801: Add support for the Process Call command
        i2c: i801: Drop useless masking in i801_access
        i2c: tegra: Add SMBus block read function
        i2c: designware: Use the i2c_mark_adapter_suspended/resumed() helpers
        i2c: designware: Lock the adapter while setting the suspended flag
        i2c: mediatek: remove redundant null check
        i2c: mediatek: modify bus speed calculation formula
        i2c: designware: Fix improper usage of readl
        ...
      5627ecb8
    • Linus Torvalds's avatar
      Merge tag 'write-page-prefaulting' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · a060c940
      Linus Torvalds authored
      Pull iomap fixlet from Andreas Gruenbacher:
       "Fix buffered write page prefaulting.
      
        I forgot to send it the previous merge window. I've only improved the
        patch description since"
      
      * tag 'write-page-prefaulting' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        fs/iomap: Fix buffered write page prefaulting
      a060c940
    • Linus Torvalds's avatar
      Merge tag 'array-bounds-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b06a1758
      Linus Torvalds authored
      Pull array-bounds updates from Kees Cook:
       "This enables -Warray-bounds and -Wzero-length-bounds, now that the
        many bug fixes have landed all over the place in the kernel, and in
        GCC itself[1].
      
        A couple fixes[2] for known corner-case issues currently live in my
        "pending-fixes" tree which I'm expecting to send next week if other
        maintainers still haven't picked them up.
      
        I'm also expecting we can enable -Wstringop-overflow next cycle, as
        there are only a few stragglers[3], but it might even be possible for
        this release"
      
      [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
      [2] https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?h=for-next/pending-fixes&id=2d253138910eec553fc706379914243d71de9b85
      [3] https://github.com/KSPP/linux/issues/181
      
      * tag 'array-bounds-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        Makefile: Enable -Wzero-length-bounds
        Makefile: Enable -Warray-bounds
      b06a1758
    • Linus Torvalds's avatar
      Merge tag 'memcpy-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 4be240b1
      Linus Torvalds authored
      Pull FORTIFY_SOURCE updates from Kees Cook:
       "This series consists of two halves:
      
         - strict compile-time buffer size checking under FORTIFY_SOURCE for
           the memcpy()-family of functions (for extensive details and
           rationale, see the first commit)
      
         - enabling FORTIFY_SOURCE for Clang, which has had many overlapping
           bugs that we've finally worked past"
      
      * tag 'memcpy-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        fortify: Add Clang support
        fortify: Make sure strlen() may still be used as a constant expression
        fortify: Use __diagnose_as() for better diagnostic coverage
        fortify: Make pointer arguments const
        Compiler Attributes: Add __diagnose_as for Clang
        Compiler Attributes: Add __overloadable for Clang
        Compiler Attributes: Add __pass_object_size for Clang
        fortify: Replace open-coded __gnu_inline attribute
        fortify: Update compile-time tests for Clang 14
        fortify: Detect struct member overflows in memset() at compile-time
        fortify: Detect struct member overflows in memmove() at compile-time
        fortify: Detect struct member overflows in memcpy() at compile-time
      4be240b1
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/64bit-pi-2022-03-25' of git://git.kernel.dk/linux-block · 3f728213
      Linus Torvalds authored
      Pull block layer 64-bit data integrity support from Jens Axboe:
       "This adds support for 64-bit data integrity in the block layer and in
        NVMe"
      
      * tag 'for-5.18/64bit-pi-2022-03-25' of git://git.kernel.dk/linux-block:
        crypto: fix crc64 testmgr digest byte order
        nvme: add support for enhanced metadata
        block: add pi for extended integrity
        crypto: add rocksoft 64b crc guard tag framework
        lib: add rocksoft model crc64
        linux/kernel: introduce lower_48_bits function
        asm-generic: introduce be48 unaligned accessors
        nvme: allow integrity on extended metadata formats
        block: support pi with extended metadata
      3f728213
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/alloc-cleanups-2022-03-25' of git://git.kernel.dk/linux-block · 752d422e
      Linus Torvalds authored
      Pull bio allocation fix from Jens Axboe:
       "We got some reports of users seeing:
      
      	Unexpected gfp: 0x2 (__GFP_HIGHMEM). Fixing up to gfp: 0x1192888
      
        which is a regression caused by the bio allocation cleanups"
      
      * tag 'for-5.18/alloc-cleanups-2022-03-25' of git://git.kernel.dk/linux-block:
        fs: do not pass __GFP_HIGHMEM to bio_alloc in do_mpage_readpage
      752d422e
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-block · 561593a0
      Linus Torvalds authored
      Pull NVMe write streams removal from Jens Axboe:
       "This removes the write streams support in NVMe. No vendor ever really
        shipped working support for this, and they are not interested in
        supporting it.
      
        With the NVMe support gone, we have nothing in the tree that supports
        this. Remove passing around of the hints.
      
        The only discussion point in this patchset imho is the fact that the
        file specific write hint setting/getting fcntl helpers will now return
        -1/EINVAL like they did before we supported write hints. No known
        applications use these functions, I only know of one prototype that I
        help do for RocksDB, and that's not used. That said, with a change
        like this, it's always a bit controversial. Alternatively, we could
        just make them return 0 and pretend it worked. It's placement based
        hints after all"
      
      * tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-block:
        fs: remove fs.f_write_hint
        fs: remove kiocb.ki_hint
        block: remove the per-bio/request write hint
        nvme: remove support or stream based temperature hint
      561593a0
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 9bf3fc50
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Add Krzysztof Kozlowski as co-maintainer for DT bindings providing
         much needed help.
      
       - DT schema validation now takes DTB files as input rather than
         intermediate YAML files. This decouples the validation from the
         source level syntax information. There's a bunch of schema fixes as a
         result of switching to DTB based validation which exposed some errors
         and incomplete schemas and examples.
      
       - Kbuild improvements to explicitly warn users running 'make
         dt_binding_check' on missing yamllint
      
       - Expand DT_SCHEMA_FILES kbuild variable to take just a partial
         filename or path instead of the full path to 1 file.
      
       - Convert various bindings to schema format: mscc,vsc7514-switch,
         multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS
         bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel
         SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display
         subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma,
         msm/mdp4, rda,8810pl-uart
      
       - New schemas for u-boot environment variable partition, TI clksel
      
       - New compatible strings for Renesas RZ/V2L SoC
      
       - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated
         HiSilicon
      
       - Add/fix schemas for QEMU Arm 'virt' machine
      
       - Drop unused of_alias_get_alias_list() function
      
       - Add a script to check DT unittest EXPECT message output. Pass
         messages also now print by default at PR_INFO level to help test
         automation.
      
      * tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (96 commits)
        dt-bindings: kbuild: Make DT_SCHEMA_LINT a recursive variable
        dt-bindings: nvmem: add U-Boot environment variables binding
        dt-bindings: ufs: qcom: Add SM6350 compatible string
        dt-bindings: dmaengine: sifive,fu540-c000: include generic schema
        dt-bindings: gpio: pca95xx: drop useless consumer example
        Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs"
        dt-bindings: virtio,mmio: Allow setting devices 'dma-coherent'
        dt-bindings: gnss: Add two more chips
        dt-bindings: gnss: Rewrite sirfstar binding in YAML
        dt-bindings: gnss: Modify u-blox to use common bindings
        dt-bindings: gnss: Rewrite common bindings in YAML
        dt-bindings: ata: ahci-platform: Add rk3568-dwc-ahci compatible
        dt-bindings: ata: ahci-platform: Add power-domains property
        dt-bindings: ata: ahci-platform: Convert DT bindings to yaml
        dt-bindings: kbuild: Use DTB files for validation
        dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate
        dt-bindings: Add QEMU virt machine compatible
        dt-bindings: arm: Convert QEMU fw-cfg to DT schema
        dt-bindings: i2c: at91: Add SAMA7G5 compatible strings list
        dt-bindings: i2c: convert i2c-at91 to json-schema
        ...
      9bf3fc50
    • Linus Torvalds's avatar
      Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" · bddac7c1
      Linus Torvalds authored
      This reverts commit aa6f8dcb.
      
      It turns out this breaks at least the ath9k wireless driver, and
      possibly others.
      
      What the ath9k driver does on packet receive is to set up the DMA
      transfer with:
      
        int ath_rx_init(..)
        ..
                      bf->bf_buf_addr = dma_map_single(sc->dev, skb->data,
                                                       common->rx_bufsize,
                                                       DMA_FROM_DEVICE);
      
      and then the receive logic (through ath_rx_tasklet()) will fetch
      incoming packets
      
        static bool ath_edma_get_buffers(..)
        ..
              dma_sync_single_for_cpu(sc->dev, bf->bf_buf_addr,
                                      common->rx_bufsize, DMA_FROM_DEVICE);
      
              ret = ath9k_hw_process_rxdesc_edma(ah, rs, skb->data);
              if (ret == -EINPROGRESS) {
                      /*let device gain the buffer again*/
                      dma_sync_single_for_device(sc->dev, bf->bf_buf_addr,
                                      common->rx_bufsize, DMA_FROM_DEVICE);
                      return false;
              }
      
      and it's worth noting how that first DMA sync:
      
          dma_sync_single_for_cpu(..DMA_FROM_DEVICE);
      
      is there to make sure the CPU can read the DMA buffer (possibly by
      copying it from the bounce buffer area, or by doing some cache flush).
      The iommu correctly turns that into a "copy from bounce bufer" so that
      the driver can look at the state of the packets.
      
      In the meantime, the device may continue to write to the DMA buffer, but
      we at least have a snapshot of the state due to that first DMA sync.
      
      But that _second_ DMA sync:
      
          dma_sync_single_for_device(..DMA_FROM_DEVICE);
      
      is telling the DMA mapping that the CPU wasn't interested in the area
      because the packet wasn't there.  In the case of a DMA bounce buffer,
      that is a no-op.
      
      Note how it's not a sync for the CPU (the "for_device()" part), and it's
      not a sync for data written by the CPU (the "DMA_FROM_DEVICE" part).
      
      Or rather, it _should_ be a no-op.  That's what commit aa6f8dcb
      broke: it made the code bounce the buffer unconditionally, and changed
      the DMA_FROM_DEVICE to just unconditionally and illogically be
      DMA_TO_DEVICE.
      
      [ Side note: purely within the confines of the swiotlb driver it wasn't
        entirely illogical: The reason it did that odd DMA_FROM_DEVICE ->
        DMA_TO_DEVICE conversion thing is because inside the swiotlb driver,
        it uses just a swiotlb_bounce() helper that doesn't care about the
        whole distinction of who the sync is for - only which direction to
        bounce.
      
        So it took the "sync for device" to mean that the CPU must have been
        the one writing, and thought it meant DMA_TO_DEVICE. ]
      
      Also note how the commentary in that commit was wrong, probably due to
      that whole confusion, claiming that the commit makes the swiotlb code
      
                                        "bounce unconditionally (that is, also
          when dir == DMA_TO_DEVICE) in order do avoid synchronising back stale
          data from the swiotlb buffer"
      
      which is nonsensical for two reasons:
      
       - that "also when dir == DMA_TO_DEVICE" is nonsensical, as that was
         exactly when it always did - and should do - the bounce.
      
       - since this is a sync for the device (not for the CPU), we're clearly
         fundamentally not coping back stale data from the bounce buffers at
         all, because we'd be copying *to* the bounce buffers.
      
      So that commit was just very confused.  It confused the direction of the
      synchronization (to the device, not the cpu) with the direction of the
      DMA (from the device).
      Reported-and-bisected-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Reported-by: default avatarOlha Cherevyk <olha.cherevyk@gmail.com>
      Cc: Halil Pasic <pasic@linux.ibm.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Kalle Valo <kvalo@kernel.org>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Toke Høiland-Jørgensen <toke@toke.dk>
      Cc: Maxime Bizon <mbizon@freebox.fr>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bddac7c1
    • Kim Phillips's avatar
      perf evsel: Improve AMD IBS (Instruction-Based Sampling) error handling messages · ab0809af
      Kim Phillips authored
      Improve the error message returned on failed perf_event_open() on AMD
      systems when using IBS (Instruction-Based Sampling).
      
      Output of executing 'perf record -e ibs_op// true' as a non root user
      BEFORE this patch (perf will add the 'u' modifier at the end to exclude
      kernel/hypervisor sampling):
      
        The sys_perf_event_open() syscall returned with 22 (Invalid argument)for event (ibs_op//u).
        /bin/dmesg | grep -i perf may provide additional information.
      
      Output after:
      
        AMD IBS can't exclude kernel events.  Try running at a higher privilege level.
      
      Output of executing 'sudo perf record -e ibs_op// true' BEFORE this patch:
      
        Error:
        The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (ibs_op//).
        /bin/dmesg | grep -i perf may provide additional information.
      
      Output after:
      
        Error:
        Invalid event (ibs_op//) in per-thread mode, enable system wide with '-a'.
      
      Folowing the suggestion:
      
        $ sudo perf record -a -e ibs_op// true
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 1.664 MB perf.data (194 samples) ]
        $
      Signed-off-by: default avatarKim Phillips <kim.phillips@amd.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: João Martins <joao.m.martins@oracle.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rafael J. Wysocki <rafael@kernel.org>
      Cc: Ravi Bangoria <ravi.bangoria@amd.com>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Sandipan Das <sandipan.das@amd.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lore.kernel.org/lkml/20220322221517.2510440-12-eranian@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ab0809af
    • Arnaldo Carvalho de Melo's avatar
      perf python: Add perf_env stubs that will be needed in evsel__open_strerror() · b58230de
      Arnaldo Carvalho de Melo authored
      The AMD IBS error message enhancements will use these, but we're not
      using evsel__open_strerror() in the python binding so far.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b58230de
    • Wei Li's avatar
      perf tools: Enhance the matching of sub-commands abbreviations · ae0f4eb3
      Wei Li authored
      We support short command 'rec*' for 'record' and 'rep*' for 'report' in
      lots of sub-commands, but the matching is not quite strict currnetly.
      
      It may be puzzling sometime, like we mis-type a 'recport' to report but
      it will perform 'record' in fact without any message.
      
      To fix this, add a check to ensure that the short cmd is valid prefix
      of the real command.
      
      Committer testing:
      
        [root@quaco ~]# perf c2c re sleep 1
      
         Usage: perf c2c {record|report}
      
            -v, --verbose         be more verbose (show counter open errors, etc)
      
        # perf c2c rec sleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.038 MB perf.data (16 samples) ]
        # perf c2c recport sleep 1
      
         Usage: perf c2c {record|report}
      
            -v, --verbose         be more verbose (show counter open errors, etc)
      
        # perf c2c record sleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.038 MB perf.data (15 samples) ]
        # perf c2c records sleep 1
      
         Usage: perf c2c {record|report}
      
            -v, --verbose         be more verbose (show counter open errors, etc)
      
        #
      Signed-off-by: default avatarWei Li <liwei391@huawei.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hanjun Guo <guohanjun@huawei.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Rui Xiang <rui.xiang@huawei.com>
      Link: http://lore.kernel.org/lkml/20220325092032.2956161-1-liwei391@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ae0f4eb3
    • Shunsuke Nakamura's avatar
      libperf tests: Fix typo in perf_evlist__open() failure error messages · c2eeac98
      Shunsuke Nakamura authored
      This patch corrects typos in error messages. I should be "evlist", not
      "evsel" as the function that fails is perf_evlist__open().
      
      Fixes: 3ce311af ("libperf: Move to tools/lib/perf")
      Fixes: a7f3713f ("libperf tests: Add test_stat_multiplexing test")
      Signed-off-by: default avatarShunsuke Nakamura <nakamura.shun@fujitsu.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220325043829.224045-2-nakamura.shun@fujitsu.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c2eeac98
    • Ali Saidi's avatar
      tools arm64: Import cputype.h · 1314376d
      Ali Saidi authored
      Bring-in the kernel's arch/arm64/include/asm/cputype.h into tools/
      for arm64 to make use of all the core-type definitions in perf.
      
      Replace sysreg.h with the version already imported into tools/.
      
      Committer notes:
      
      Added an entry to tools/perf/check-headers.sh, so that we get notified
      when the original file in the kernel sources gets modified.
      
      Tester notes:
      
      LGTM. I did the testing on both my x86 and Arm64 platforms, thanks for
      the fixing up.
      Signed-off-by: default avatarAli Saidi <alisaidi@amazon.com>
      Tested-by: default avatarLeo Yan <leo.yan@linaro.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andrew Kilroy <andrew.kilroy@arm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Li Huafei <lihuafei1@huawei.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nick.Forrington@arm.com
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Will Deacon <will@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: https://lore.kernel.org/r/20220324183323.31414-2-alisaidi@amazon.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1314376d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.17-1' of https://github.com/cminyard/linux-ipmi · 52d543b5
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
      
       - Little fixes for various things people have noticed.
      
       - One enhancement, the IPMI over IPMB (I2c) is modified to allow it to
         take a separate sender and receiver device. The Raspberry Pi has an
         I2C slave device that cannot send.
      
      * tag 'for-linus-5.17-1' of https://github.com/cminyard/linux-ipmi:
        ipmi: initialize len variable
        ipmi: kcs: aspeed: Remove old bindings support
        ipmi:ipmb: Add the ability to have a separate slave and master device
        ipmi:ipmi_ipmb: Unregister the SMI on remove
        ipmi: kcs: aspeed: Add AST2600 compatible string
        ipmi: ssif: replace strlcpy with strscpy
        ipmi/watchdog: Constify ident
        ipmi: Add the git repository to the MAINTAINERS file
      52d543b5
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a452c4eb
      Linus Torvalds authored
      Pull reiserfs updates from Jan Kara:
       "The biggest change in this pull is the addition of a deprecation
        message about reiserfs with the outlook that we'd eventually be able
        to remove it from the kernel. Because it is practically unmaintained
        and untested and odd enough that people don't want to bother with it
        anymore...
      
        Otherwise there are small udf and ext2 fixes"
      
      * tag 'fs_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: remove redundant assignment of variable etype
        reiserfs: Deprecate reiserfs
        ext2: correct max file size computing
        reiserfs: get rid of AOP_FLAG_CONT_EXPAND flag
      a452c4eb
  3. 25 Mar, 2022 18 commits
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a8988507
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "A few fsnotify improvements and cleanups"
      
      * tag 'fsnotify_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: remove redundant parameter judgment
        fsnotify: optimize FS_MODIFY events with no ignored masks
        fsnotify: fix merge with parent's ignored mask
      a8988507
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-03-25' of git://anongit.freedesktop.org/drm/drm · cb7cbaae
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Some fixes were queued up in and in light of the fbdev regressions,
        I've pulled those in as well.
      
        core:
         - Make audio and color plane support checking only happen when a CEA
           extension block is found.
         - Small selftest fix.
      
        fbdev:
         - two regressions fixes from speedup patches.
      
        ttm:
         - Fix a small regression from ttm_resource_fini()
      
        i915:
         - Reject unsupported TMDS rates on ICL+
         - Treat SAGV block time 0 as SAGV disabled
         - Fix PSF GV point mask when SAGV is not possible
         - Fix renamed INTEL_INFO->media.arch/ver field"
      
      * tag 'drm-next-2022-03-25' of git://anongit.freedesktop.org/drm/drm:
        fbdev: Fix cfb_imageblit() for arbitrary image widths
        fbdev: Fix sys_imageblit() for arbitrary image widths
        drm/edid: fix CEA extension byte #3 parsing
        drm/edid: check basic audio support on CEA extension block
        drm/i915: Fix renamed struct field
        drm/i915: Fix PSF GV point mask when SAGV is not possible
        drm/i915: Treat SAGV block time 0 as SAGV disabled
        drm/i915: Reject unsupported TMDS rates on ICL+
        drm/selftest: plane_helper: Put test structures in static storage
        drm/ttm: Fix a kernel oops due to an invalid read
      cb7cbaae
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 46f538bf
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Device Support:
         - Add support for PM6150L to Qualcomm WLED
      
        Fix-ups"
         - Use kcalloc() to avoid open-coding; pwm_bl
         - Device Tree changes; qcom-wled
         - Cleanup or simplify code; backlight"
      
      * tag 'backlight-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: backlight: Slighly simplify devm_of_find_backlight()
        backlight: qcom-wled: Add PM6150L compatible
        dt-bindings: backlight: qcom-wled: Add PM6150L compatible
        backlight: pwm_bl: Avoid open coded arithmetic in memory allocation
      46f538bf
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 8350e833
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers:
         - Add support for Maxim MAX77714 PMIC
      
        Removed Drivers:
         - Remove support for ST-Ericsson AB8500 DebugFS
      
        New Device Support:
         - Add support for Silergy SY7636A to Simple MFD I2C
         - Add support for MediaTek MT6366 PMIC to MT6358 IRQ
         - Add support for Charger to Intel PMIC CRC
         - Add support for Raptor Lake to Intel LPSS PCI
      
        New Functionality:
         - Add support for Reboot to Rockchip RK808
      
        Fix-ups:
         - Device Tree changes (includcing YAML conversion) for
           silergy,sy7636a, maxim,max77843, google,cros-ec, maxim,max14577,
           maxim,max77802, maxim,max77714, qcom,tcsr, qcom,spmi-pmic,
           stericsson,ab8500, stericsson,db8500-prcmu,
           samsung,exynos5433-lpass, mt6397, syscon, brcm,cru
         - Visible to menuconfig; simple-mfd-i2c
         - Clean-up or clarify code; max77686, intel_soc_pmic_crc
         - Improve error handling; mc13xxx-core, stmfx, asic3
         - Pass device information to child devices; iqs62x, intel-lpss-acpi
         - Individually identify IRQ domains; intel_soc_pmic_core
         - Remove superfluous code; dbx500-prcmu, exynos-lpass
         - Staticify and constify; arizona-i2c
         - Mark sometimes used data as __maybe_unused; atmel-flexcom
         - Account for different ACPI tables on AOSP/Windows platforms; arizona-spi
         - Use provided (platform) APIs; ab8500-core
         - Trivial (whitespace, spelling); rohm-bd9576"
      
      * tag 'mfd-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (50 commits)
        dt-bindings: mfd: syscon: Add microchip,lan966x-cpu-syscon compatible
        mfd: bd9576: fix typos in comments
        mfd: Use platform_get_irq() to get the interrupt
        mfd: db8500-prcmu: Remove unused inline function
        mfd: arizona-spi: Add Android board ACPI table handling
        mfd: arizona-spi: Split Windows ACPI init code into its own function
        mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
        MAINTAINERS: Rectify entry for ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS
        mfd: intel-lpss: Provide an SSP type to the driver
        dt-bindings: mfd: brcm,cru: Rename pinctrl node
        dt-bindings: Add compatibles for undocumented trivial syscons
        mfd: atmel-flexcom: Fix compilation warning
        dt-bindings: mfd: Add compatible for the MediaTek MT6366 PMIC
        dt-bindings: mfd: samsung,exynos5433-lpass: Convert to dtschema
        mfd: exynos-lpass: Drop unneeded syscon.h include
        mfd: intel-lpss: Add Intel Raptor Lake PCH-S PCI IDs
        mfd: ab8500: Drop debugfs module
        mfd: sta2x11: Use GFP_KERNEL instead of GFP_ATOMIC
        mfd: ab8500: Rewrite bindings in YAML
        mfd: qcom-spmi-pmic: Add pm8953 compatible
        ...
      8350e833
    • Linus Torvalds's avatar
      Merge tag 'mtd/changes-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · e35a4a4e
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "There has been a lot of activity in the MTD subsystem recently, with a
        number of SPI-NOR cleanups as well as the introduction of ECC engines
        that can be used by SPI controllers (hence a few SPI patches in here).
      
        Core MTD changes:
         - Replace the expert mode symbols with a single helper
         - Fix misuses of of_match_ptr()
         - Remove partid and partname debugfs files
         - tests: Fix eraseblock read speed miscalculation for lower partition
           sizes
         - TRX parser: Allow to use on MediaTek MIPS SoCs
      
        MTD driver changes:
         - spear_smi: use GFP_KERNEL
         - mchp48l640: Add SPI ID table
         - mchp23k256: Add SPI ID table
         - blkdevs: Avoid soft lockups with some mtd/spi devices
         - aspeed-smc: Improve probe resilience
      
        Hyperbus changes:
         - HBMC_AM654 should depend on ARCH_K3
      
        NAND core changes:
         - ECC:
            - Add infrastructure to support hardware engines
            - Add a new helper to retrieve the ECC context
            - Provide a helper to retrieve a pilelined engine device
      
        NAND-ECC changes:
         - Macronix ECC engine:
            - Add Macronix external ECC engine support
            - Support SPI pipelined mode
            - Make two read-only arrays static const
            - Fix compile test issue
      
        Raw NAND core changes:
         - Fix misuses of of_match_node()
         - Rework of_get_nand_bus_width()
         - Remove of_get_nand_on_flash_bbt() wrapper
         - Protect access to rawnand devices while in suspend
         - bindings: Document the wp-gpios property
      
        Rax NAND controller driver changes:
         - atmel: Fix refcount issue in atmel_nand_controller_init
         - nandsim:
            - Add NS_PAGE_BYTE_SHIFT macro to replace the repeat pattern
            - Merge repeat codes in ns_switch_state
            - Replace overflow check with kzalloc to single kcalloc
         - rockchip: Fix platform_get_irq.cocci warning
         - stm32_fmc2: Add NAND Write Protect support
         - pl353: Set the nand chip node as the flash node
         - brcmnand: Fix sparse warnings in bcma_nand
         - omap_elm: Remove redundant variable 'errors'
         - gpmi:
            - Support fast edo timings for mx28
            - Validate controller clock rate
            - Fix controller timings setting
         - brcmnand:
            - Add BCMA shim
            - BCMA controller uses command shift of 0
            - Allow platform data instantation
            - Add platform data structure for BCMA
            - Allow working without interrupts
            - Move OF operations out of brcmnand_init_cs()
            - Avoid pdev in brcmnand_init_cs()
            - Allow SoC to provide I/O operations
            - Assign soc as early as possible
      
        Onenand changes:
         - Check for error irq
      
        SPI-NAND core changes:
         - Delay a little bit the dirmap creation
         - Create direct mapping descriptors for ECC operations
      
        SPI-NAND driver changes:
         - macronix: Use random program load
      
        SPI NOR core changes:
         - Move vendor specific code out of the core into vendor drivers.
         - Unify all function and object names in the vendor modules.
         - Make setup() callback optional to improve readability.
         - Skip erase logic when the SPI_NOR_NO_ERASE flag is set at flash
           declaration.
      
        SPI changes:
         - Macronix SPI controller:
            - Fix the transmit path
            - Create a helper to configure the controller before an operation
            - Create a helper to ease the start of an operation
            - Add support for direct mapping
            - Add support for pipelined ECC operations
         - spi-mem:
            - Introduce a capability structure
            - Check the controller extra capabilities
            - cadence-quadspi/mxic: Provide capability structures
            - Kill the spi_mem_dtr_supports_op() helper
            - Add an ecc parameter to the spi_mem_op structure
      
        Binding changes:
         - Dropped mtd/cortina,gemini-flash.txt
         - Convert BCM47xx partitions to json-schema
         - Vendor prefixes: Clarify Macronix prefix
         - SPI NAND: Convert spi-nand description file to yaml
         - Raw NAND chip: Create a NAND chip description
         - Raw NAND controller:
            - Harmonize the property types
            - Fix a comment in the examples
            - Fix the reg property description
         - Describe Macronix NAND ECC engine
         - Macronix SPI controller:
            - Document the nand-ecc-engine property
            - Convert to yaml
            - The interrupt property is not mandatory"
      
      * tag 'mtd/changes-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (104 commits)
        mtd: nand: ecc: mxic: Fix compile test issue
        mtd: nand: mxic-ecc: make two read-only arrays static const
        mtd: hyperbus: HBMC_AM654 should depend on ARCH_K3
        mtd: core: Remove partid and partname debugfs files
        dt-bindings: mtd: partitions: convert BCM47xx to the json-schema
        mtd: tests: Fix eraseblock read speed miscalculation for lower partition sizes
        mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
        mtd: rawnand: rockchip: fix platform_get_irq.cocci warning
        mtd: spi-nor: Skip erase logic when SPI_NOR_NO_ERASE is set
        mtd: spi-nor: renumber flags
        mtd: spi-nor: slightly change code style in spi_nor_sr_ready()
        mtd: spi-nor: spansion: rename vendor specific functions and defines
        mtd: spi-nor: spansion: convert USE_CLSR to a manufacturer flag
        mtd: spi-nor: move all spansion specifics into spansion.c
        mtd: spi-nor: spansion: slightly rework control flow in late_init()
        mtd: spi-nor: micron-st: rename vendor specific functions and defines
        mtd: spi-nor: micron-st: convert USE_FSR to a manufacturer flag
        mtd: spi-nor: move all micron-st specifics into micron-st.c
        mtd: spi-nor: xilinx: correct the debug message
        mtd: spi-nor: xilinx: rename vendor specific functions and defines
        ...
      e35a4a4e
    • Linus Torvalds's avatar
      Merge tag 'for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 8eb48fc7
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Power-supply core:
      
         - Introduce "Bypass" charging type used by USB PPS standard
      
         - Refactor power_supply_set_input_current_limit_from_supplier()
      
         - Add fwnode support to power_supply_get_battery_info()
      
        Drivers:
      
         - ab8500: continue migrating towards using standard core APIs
      
         - axp288 fuel-gauge: refactor driver to be fully resource managed
      
         - battery-samsung-sdi: new in-kernel provider for (constant) Samsung
           battery info
      
         - bq24190: disable boost regulator on shutdown
      
         - bq24190: add support for battery-info on ACPI based systems
      
         - bq25890: prepare driver for usage on ACPI based systems
      
         - bq25890: add boost regulator support
      
         - cpcap-battery: add NVMEM based battery detection support
      
         - injoinic ip5xxx: new driver for power bank IC
      
         - upi ug3105: new battery driver
      
         - misc small improvements and fixes"
      
      * tag 'for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (94 commits)
        power: ab8500_chargalg: Use CLOCK_MONOTONIC
        power: supply: Add a driver for Injoinic power bank ICs
        dt-bindings: trivial-devices: Add Injoinic power bank ICs
        dt-bindings: vendor-prefixes: Add Injoinic
        power: supply: ab8500: Remove unused variable
        power: supply: da9150-fg: Remove unnecessary print function dev_err()
        power: supply: ab8500: fix a handful of spelling mistakes
        power: supply: ab8500_fg: Account for line impedance
        dt-bindings: power: supply: ab8500_fg: Add line impedance
        power: supply: axp20x_usb_power: fix platform_get_irq.cocci warnings
        power: supply: axp20x_ac_power: fix platform_get_irq.cocci warning
        power: supply: wm8350-power: Add missing free in free_charger_irq
        power: supply: wm8350-power: Handle error for wm8350_register_irq
        power: supply: Static data for Samsung batteries
        power: supply: ab8500_fg: Use VBAT-to-Ri if possible
        power: supply: Support VBAT-to-Ri lookup tables
        power: supply: ab8500: Standardize BTI resistance
        power: supply: ab8500: Standardize alert mode charging
        power: supply: ab8500: Standardize maintenance charging
        power: supply: bq24190_charger: Delay applying charge_type changes when OTG 5V Vbus boost is on
        ...
      8eb48fc7
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 148a6504
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Enumeration:
         - Move the VGA arbiter from drivers/gpu to drivers/pci because it's
           PCI-specific, not GPU-specific (Bjorn Helgaas)
         - Select the default VGA device consistently whether it's enumerated
           before or after VGA arbiter init, which fixes arches that enumerate
           PCI devices late (Huacai Chen)
      
        Resource management:
         - Support BAR sizes up to 8TB (Dongdong Liu)
      
        PCIe native device hotplug:
         - Fix "Command Completed" tracking to avoid spurious timouts when
           powering off empty slots (Liguang Zhang)
         - Quirk Qualcomm devices that don't implement Command Completed
           correctly, again to avoid spurious timeouts (Manivannan Sadhasivam)
      
        Peer-to-peer DMA:
         - Add Intel 3rd Gen Intel Xeon Scalable Processors to whitelist
           (Michael J. Ruhl)
      
        APM X-Gene PCIe controller driver:
         - Revert generic DT parsing changes that broke some machines in the
           field (Marc Zyngier)
      
        Freescale i.MX6 PCIe controller driver:
         - Allow controller probe to succeed even when no devices currently
           present to allow hot-add later (Fabio Estevam)
         - Enable power management on i.MX6QP (Richard Zhu)
         - Assert CLKREQ# on i.MX8MM so enumeration doesn't hang when no
           device is connected (Richard Zhu)
      
        Marvell Aardvark PCIe controller driver:
         - Fix MSI and MSI-X support (Marek Behún, Pali Rohár)
         - Add support for ERR and PME interrupts (Pali Rohár)
      
        Marvell MVEBU PCIe controller driver:
         - Add DT binding and support for "num-lanes" (Pali Rohár)
         - Add support for INTx interrupts (Pali Rohár)
      
        Microsoft Hyper-V host bridge driver:
         - Avoid unnecessary hypercalls when unmasking IRQs on ARM64 (Boqun
           Feng)
      
        Qualcomm PCIe controller driver:
         - Add SM8450 DT binding and driver support (Dmitry Baryshkov)
      
        Renesas R-Car PCIe controller driver:
         - Help the controller get to the L1 state since the hardware can't do
           it on its own (Marek Vasut)
         - Return PCI_ERROR_RESPONSE (~0) for reads that fail on PCIe (Marek
           Vasut)
      
        SiFive FU740 PCIe controller driver:
         - Drop redundant '-gpios' from DT GPIO lookup (Ben Dooks)
         - Force 2.5GT/s for initial device probe (Ben Dooks)
      
        Socionext UniPhier Pro5 controller driver:
         - Add NX1 DT binding and driver support (Kunihiko Hayashi)
      
        Synopsys DesignWare PCIe controller driver:
         - Restore MSI configuration so MSI works after resume (Jisheng
           Zhang)"
      
      * tag 'pci-v5.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits)
        x86/PCI: Add #includes to asm/pci_x86.h
        PCI: ibmphp: Remove unused assignments
        PCI: cpqphp: Remove unused assignments
        PCI: fu740: Remove unused assignments
        PCI: kirin: Remove unused assignments
        PCI: Remove unused assignments
        PCI: Declare pci_filp_private only when HAVE_PCI_MMAP
        PCI: Avoid broken MSI on SB600 USB devices
        PCI: fu740: Force 2.5GT/s for initial device probe
        PCI: xgene: Revert "PCI: xgene: Fix IB window setup"
        PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"
        PCI: imx6: Assert i.MX8MM CLKREQ# even if no device present
        PCI: imx6: Invoke the PHY exit function after PHY power off
        PCI: rcar: Use PCI_SET_ERROR_RESPONSE after read which triggered an exception
        PCI: rcar: Finish transition to L1 state in rcar_pcie_config_access()
        PCI: dwc: Restore MSI Receiver mask during resume
        PCI: fu740: Drop redundant '-gpios' from DT GPIO lookup
        PCI/VGA: Replace full MIT license text with SPDX identifier
        PCI/VGA: Use unsigned format string to print lock counts
        PCI/VGA: Log bridge control messages when adding devices
        ...
      148a6504
    • Linus Torvalds's avatar
      Merge tag 'ras_core_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 636f64db
      Linus Torvalds authored
      Pull RAS updates from Borislav Petkov:
      
       - More noinstr fixes
      
       - Add an erratum workaround for Intel CPUs which, in certain
         circumstances, end up consuming an unrelated uncorrectable memory
         error when using fast string copy insns
      
       - Remove the MCE tolerance level control as it is not really needed or
         used anymore
      
      * tag 'ras_core_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Remove the tolerance level control
        x86/mce: Work around an erratum on fast string copy instructions
        x86/mce: Use arch atomic and bit helpers
      636f64db
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · ebcb577a
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "Relatively few updates for this release cycle. We have a single new
        driver and some minor changes in drivers, more work on limiting the
        usage of of_node in drivers and DT updates:
      
         - new driver: gpio-en7523
      
         - dt-bindings: convertion of faraday,ftgpio010 to YAML, new
           compatible string in gpio-vf610 and a bugfix in an example
      
         - gpiolib core: several improvements and some code shrink
      
         - documentation: convert all public docs into kerneldoc format
      
         - set IRQ bus token in gpio-crystalcove (addresses a debugfs issue)
      
         - add a missing return value check for kstrdup() in gpio-merrifield
      
         - allow gpio-tps68470 to be built as module
      
         - more work on limiting usage of of_node in GPIO drivers
      
         - several sysfs interface improvements
      
         - use SDPX in gpio-ts4900"
      
      * tag 'gpio-updates-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: ts4900: Use SPDX header
        gpiolib: Use list_first_entry()/list_last_entry()
        gpiolib: sysfs: Simplify edge handling in the code
        gpiolib: sysfs: Move kstrtox() calls outside of the mutex lock
        gpiolib: sysfs: Move sysfs_emit() calls outside of the mutex lock
        gpiolib: make struct comments into real kernel docs
        dt-bindings: gpio: convert faraday,ftgpio01 to yaml
        dt-bindings: gpio: gpio-vf610: Add imx93 compatible string
        gpiolib: Simplify error path in gpiod_get_index() when requesting GPIO
        gpiolib: Use short form of ternary operator in gpiod_get_index()
        gpiolib: Introduce for_each_gpio_desc_with_flag() macro
        gpio: Add support for Airoha EN7523 GPIO controller
        dt-bindings: arm: airoha: Add binding for Airoha GPIO controller
        dt-bindings: gpio: fix gpio-hog example
        gpio: tps68470: Allow building as module
        gpio: tegra: Get rid of duplicate of_node assignment
        gpio: altera-a10sr: Switch to use fwnode instead of of_node
        gpio: merrifield: check the return value of devm_kstrdup()
        gpio: crystalcove: Set IRQ domain bus token to DOMAIN_BUS_WIRED
      ebcb577a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 5e206459
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - rework of generic input handling which ultimately makes the
         processing of tablet events more generic and reliable (Benjamin
         Tissoires)
      
       - fixes for handling unnumbered reports fully correctly in i2c-hid
         (Angela Czubak, Dmitry Torokhov)
      
       - untangling of intermingled code for sending and handling output
         reports in i2c-hid (Dmitry Torokhov)
      
       - Apple magic keyboard support improvements for newer models (José
         Expósito)
      
       - Apple T2 Macs support improvements (Aun-Ali Zaidi, Paul Pawlowski)
      
       - driver for Razer Blackwidow keyboards (Jelle van der Waa)
      
       - driver for SiGma Micro keyboards (Desmond Lim)
      
       - integration of first part of DIGImend patches in order to ultimately
         vastly improve Linux support of tablets (Nikolai Kondrashov, José
         Expósito)
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (55 commits)
        HID: intel-ish-hid: Use dma_alloc_coherent for firmware update
        Input: docs: add more details on the use of BTN_TOOL
        HID: input: accommodate priorities for slotted devices
        HID: input: remove the need for HID_QUIRK_INVERT
        HID: input: enforce Invert usage to be processed before InRange
        HID: core: for input reports, process the usages by priority list
        HID: compute an ordered list of input fields to process
        HID: input: move up out-of-range processing of input values
        HID: input: rework spaghetti code with switch statements
        HID: input: tag touchscreens as such if the physical is not there
        HID: core: split data fetching from processing in hid_input_field()
        HID: core: de-duplicate some code in hid_input_field()
        HID: core: statically allocate read buffers
        HID: uclogic: Support multiple frame input devices
        HID: uclogic: Define report IDs before their descriptors
        HID: uclogic: Put version first in rdesc namespace
        HID: uclogic: Use "frame" instead of "buttonpad"
        HID: uclogic: Use different constants for frame report IDs
        HID: uclogic: Specify total report size to buttonpad macro
        HID: uclogic: Switch to matching subreport bytes
        ...
      5e206459
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.18-1' of... · 14646776
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
        "New drivers:
          - AMD Host System Management Port (HSMP)
          - Intel Software Defined Silicon
      
        Removed drivers (functionality folded into other drivers):
          - intel_cht_int33fe_microb
          - surface3_button
      
        amd-pmc:
          - s2idle bug-fixes
          - Support for AMD Spill to DRAM STB feature
      
        hp-wmi:
          - Fix SW_TABLET_MODE detection method (and other fixes)
          - Support omen thermal profile policy v1
      
        serial-multi-instantiate:
          - Add SPI device support
          - Add support for CS35L41 amplifiers used in new laptops
      
        think-lmi:
          - syfs-class-firmware-attributes Certificate authentication support
      
        thinkpad_acpi:
          - Fixes + quirks
          - Add platform_profile support on AMD based ThinkPads
      
        x86-android-tablets:
          - Improve Asus ME176C / TF103C support
          - Support Nextbook Ares 8, Lenovo Tab 2 830 and 1050 tablets
      
        Lots of various other small fixes and hardware-id additions"
      
      * tag 'platform-drivers-x86-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (60 commits)
        platform/x86: think-lmi: Certificate authentication support
        Documentation: syfs-class-firmware-attributes: Lenovo Certificate support
        platform/x86: amd-pmc: Only report STB errors when STB enabled
        platform/x86: amd-pmc: Drop CPU QoS workaround
        platform/x86: amd-pmc: Output error codes in messages
        platform/x86: amd-pmc: Move to later in the suspend process
        ACPI / x86: Add support for LPS0 callback handler
        platform/x86: thinkpad_acpi: consistently check fan_get_status return.
        platform/x86: hp-wmi: support omen thermal profile policy v1
        platform/x86: hp-wmi: Changing bios_args.data to be dynamically allocated
        platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls
        platform/x86: hp-wmi: Fix SW_TABLET_MODE detection method
        platform/x86: hp-wmi: Fix hp_wmi_read_int() reporting error (0x05)
        platform/x86: amd-pmc: Validate entry into the deepest state on resume
        platform/x86: thinkpad_acpi: Don't use test_bit on an integer
        platform/x86: thinkpad_acpi: Fix compiler warning about uninitialized err variable
        platform/x86: thinkpad_acpi: clean up dytc profile convert
        platform/x86: x86-android-tablets: Depend on EFI and SPI
        platform/x86: amd-pmc: uninitialized variable in amd_pmc_s2d_init()
        platform/x86: intel-uncore-freq: fix uncore_freq_common_init() error codes
        ...
      14646776
    • Linus Torvalds's avatar
      Merge tag 'kbuild-gnu11-v5.18' of... · 50560ce6
      Linus Torvalds authored
      Merge tag 'kbuild-gnu11-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild update for C11 language base from Masahiro Yamada:
       "Kbuild -std=gnu11 updates for v5.18
      
        Linus pointed out the benefits of C99 some years ago, especially
        variable declarations in loops [1]. At that time, we were not ready
        for the migration due to old compilers.
      
        Recently, Jakob Koschel reported a bug in list_for_each_entry(), which
        leaks the invalid pointer out of the loop [2]. In the discussion, we
        agreed that the time had come. Now that GCC 5.1 is the minimum
        compiler version, there is nothing to prevent us from going to
        -std=gnu99, or even straight to -std=gnu11.
      
        Discussions for a better list iterator implementation are ongoing, but
        this patch set must land first"
      
      [1] https://lore.kernel.org/all/CAHk-=wgr12JkKmRd21qh-se-_Gs69kbPgR9x4C+Es-yJV2GLkA@mail.gmail.com/
      [2] https://lore.kernel.org/lkml/86C4CE7D-6D93-456B-AA82-F8ADEACA40B7@gmail.com/
      
      * tag 'kbuild-gnu11-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        Kbuild: use -std=gnu11 for KBUILD_USERCFLAGS
        Kbuild: move to -std=gnu11
        Kbuild: use -Wdeclaration-after-statement
        Kbuild: add -Wno-shift-negative-value where -Wextra is used
      50560ce6
    • Namhyung Kim's avatar
      perf lock: Add -F/--field option to control output · 4bd9cab5
      Namhyung Kim authored
      The -F/--field option is to customize the list of fields to output:
      
        $ perf lock report -F contended,wait_max -k avg_wait
                        Name  contended   max wait (ns)   avg wait (ns)
      
              slock-AF_INET6          1           23543           23543
           &lruvec->lru_lock          5           18317           11254
              slock-AF_INET6          1           10379           10379
                  rcu_node_1          1            2104            2104
         &dentry->d_lockr...          1            1844            1844
         &dentry->d_lockr...          1            1672            1672
            &newf->file_lock         15            2279            1025
         &dentry->d_lockr...          1             792             792
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220323230259.288494-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4bd9cab5
    • Namhyung Kim's avatar
      perf lock: Extend struct lock_key to have print function · 64999e44
      Namhyung Kim authored
      And use it to print output for each key field.  No functional change
      intended and the output should be identical.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220323230259.288494-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      64999e44
    • Namhyung Kim's avatar
      perf lock: Add --synth=no option for record · 67b61f59
      Namhyung Kim authored
      The perf lock command has nothing to symbolize and lock names come
      from the tracepoint.  Moreover, kernel symbols are available even the
      --synth=no option is given.
      
      This will reduce the startup time by avoiding unnecessary synthesis.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220323230259.288494-1-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      67b61f59
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 29c8c183
      Linus Torvalds authored
      Merge yet more updates from Andrew Morton:
       "This is the material which was staged after willystuff in linux-next.
      
        Subsystems affected by this patch series: mm (debug, selftests,
        pagecache, thp, rmap, migration, kasan, hugetlb, pagemap, madvise),
        and selftests"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (113 commits)
        selftests: kselftest framework: provide "finished" helper
        mm: madvise: MADV_DONTNEED_LOCKED
        mm: fix race between MADV_FREE reclaim and blkdev direct IO read
        mm: generalize ARCH_HAS_FILTER_PGPROT
        mm: unmap_mapping_range_tree() with i_mmap_rwsem shared
        mm: warn on deleting redirtied only if accounted
        mm/huge_memory: remove stale locking logic from __split_huge_pmd()
        mm/huge_memory: remove stale page_trans_huge_mapcount()
        mm/swapfile: remove stale reuse_swap_page()
        mm/khugepaged: remove reuse_swap_page() usage
        mm/huge_memory: streamline COW logic in do_huge_pmd_wp_page()
        mm: streamline COW logic in do_swap_page()
        mm: slightly clarify KSM logic in do_swap_page()
        mm: optimize do_wp_page() for fresh pages in local LRU pagevecs
        mm: optimize do_wp_page() for exclusive pages in the swapcache
        mm/huge_memory: make is_transparent_hugepage() static
        userfaultfd/selftests: enable hugetlb remap and remove event testing
        selftests/vm: add hugetlb madvise MADV_DONTNEED MADV_REMOVE test
        mm: enable MADV_DONTNEED for hugetlb mappings
        kasan: disable LOCKDEP when printing reports
        ...
      29c8c183
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.18-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · aa5b537b
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for Sv57-based virtual memory.
      
       - Various improvements for the MicroChip PolarFire SOC and the
         associated Icicle dev board, which should allow upstream kernels to
         boot without any additional modifications.
      
       - An improved memmove() implementation.
      
       - Support for the new Ssconfpmf and SBI PMU extensions, which allows
         for a much more useful perf implementation on RISC-V systems.
      
       - Support for restartable sequences.
      
      * tag 'riscv-for-linus-5.18-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (36 commits)
        rseq/selftests: Add support for RISC-V
        RISC-V: Add support for restartable sequence
        MAINTAINERS: Add entry for RISC-V PMU drivers
        Documentation: riscv: Remove the old documentation
        RISC-V: Add sscofpmf extension support
        RISC-V: Add perf platform driver based on SBI PMU extension
        RISC-V: Add RISC-V SBI PMU extension definitions
        RISC-V: Add a simple platform driver for RISC-V legacy perf
        RISC-V: Add a perf core library for pmu drivers
        RISC-V: Add CSR encodings for all HPMCOUNTERS
        RISC-V: Remove the current perf implementation
        RISC-V: Improve /proc/cpuinfo output for ISA extensions
        RISC-V: Do no continue isa string parsing without correct XLEN
        RISC-V: Implement multi-letter ISA extension probing framework
        RISC-V: Extract multi-letter extension names from "riscv, isa"
        RISC-V: Minimal parser for "riscv, isa" strings
        RISC-V: Correctly print supported extensions
        riscv: Fixed misaligned memory access. Fixed pointer comparison.
        MAINTAINERS: update riscv/microchip entry
        riscv: dts: microchip: add new peripherals to icicle kit device tree
        ...
      aa5b537b
    • Linus Torvalds's avatar
      Merge tag 's390-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · d710d370
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Raise minimum supported machine generation to z10, which comes with
         various cleanups and code simplifications (usercopy/spectre
         mitigation/etc).
      
       - Rework extables and get rid of anonymous out-of-line fixups.
      
       - Page table helpers cleanup. Add set_pXd()/set_pte() helper functions.
         Covert pte_val()/pXd_val() macros to functions.
      
       - Optimize kretprobe handling by avoiding extra kprobe on
         __kretprobe_trampoline.
      
       - Add support for CEX8 crypto cards.
      
       - Allow to trigger AP bus rescan via writing to /sys/bus/ap/scans.
      
       - Add CONFIG_EXPOLINE_EXTERN option to build the kernel without COMDAT
         group sections which simplifies kpatch support.
      
       - Always use the packed stack layout and extend kernel unwinder tests.
      
       - Add sanity checks for ftrace code patching.
      
       - Add s390dbf debug log for the vfio_ap device driver.
      
       - Various virtual vs physical address confusion fixes.
      
       - Various small fixes and improvements all over the code.
      
      * tag 's390-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (69 commits)
        s390/test_unwind: add kretprobe tests
        s390/kprobes: Avoid additional kprobe in kretprobe handling
        s390: convert ".insn" encoding to instruction names
        s390: assume stckf is always present
        s390/nospec: move to single register thunks
        s390: raise minimum supported machine generation to z10
        s390/uaccess: Add copy_from/to_user_key functions
        s390/nospec: align and size extern thunks
        s390/nospec: add an option to use thunk-extern
        s390/nospec: generate single register thunks if possible
        s390/pci: make zpci_set_irq()/zpci_clear_irq() static
        s390: remove unused expoline to BC instructions
        s390/irq: use assignment instead of cast
        s390/traps: get rid of magic cast for per code
        s390/traps: get rid of magic cast for program interruption code
        s390/signal: fix typo in comments
        s390/asm-offsets: remove unused defines
        s390/test_unwind: avoid build warning with W=1
        s390: remove .fixup section
        s390/bpf: encode register within extable entry
        ...
      d710d370