Skip to content
Permalink
Yinan-Liu/ftra…
Switch branches/tags

Commits on Sep 11, 2021

  1. scripts: ftrace - move the nop-processing in ftrace_init to compile time

    When ftrace is enabled, ftrace_init will consume a period of
    time, usually around 15~20ms. Approximately 60% of the time is
    consumed by nop-processing. Moving the nop-processing to the
    compile time can speed up the kernel boot process.
    
    performance test:
            env:    Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
            method: before and after patching, compare the
                    total time of ftrace_init(), and verify
                    the functionality of ftrace.
    
            avg_time of ftrace_init:
                    with patch: 7.114ms
                    without patch: 15.763ms
    
    Signed-off-by: Yinan Liu <yinan@linux.alibaba.com>
    Yinan Liu authored and intel-lab-lkp committed Sep 11, 2021
  2. scripts: ftrace - move the sort-processing in ftrace_init to compile …

    …time
    
    When ftrace is enabled, ftrace_init will consume a period of
    time, usually around 15~20 ms. Approximately 40% of the time is
    consumed by sort-processing. Moving the sort-processing to the
    compile time can speed up the kernel boot process.
    
    performance test:
            env:    Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
            method: before and after patching, compare the
                    total time of ftrace_init(), and verify
                    the functionality of ftrace.
    
            avg_time of ftrace_init:
                    with patch: 8.352 ms
                    without patch: 15.763 ms
    
    Signed-off-by: Yinan Liu <yinan@linux.alibaba.com>
    Yinan Liu authored and intel-lab-lkp committed Sep 11, 2021

Commits on Aug 31, 2021

  1. perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints

    SPR M3UPI have the exact same event constraints as ICX, so add the
    constraints.
    
    Fixes: 2a8e51e ("perf/x86/intel/uncore: Add Sapphire Rapids server M3UPI support")
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/1629991963-102621-8-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021
  2. perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints

    Similar to the ICX M2PCIE  events, some of the SPR M2PCIE events also
    have constraints. Add the constraints for SPR M2PCIE.
    
    Fixes: f85ef89 ("perf/x86/intel/uncore: Add Sapphire Rapids server M2PCIe support")
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/1629991963-102621-7-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021
  3. perf/x86/intel/uncore: Fix Intel SPR IIO event constraints

    SPR IIO events have the exact same event constraints as ICX, so add the
    constraints.
    
    Fixes: 3ba7095 ("perf/x86/intel/uncore: Add Sapphire Rapids server IIO support")
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/1629991963-102621-6-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021
  4. perf/x86/intel/uncore: Fix Intel SPR CHA event constraints

    SPR CHA events have the exact same event constraints as SKX, so add the
    constraints.
    
    Fixes: 949b113 ("perf/x86/intel/uncore: Add Sapphire Rapids server CHA support")
    Reported-by: Stephane Eranian <eranian@google.com>
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/1629991963-102621-5-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021
  5. perf/x86/intel/uncore: Fix Intel ICX IIO event constraints

    According to the latest uncore document, both NUM_OUTSTANDING_REQ_OF_CPU
    (0x88) event and COMP_BUF_OCCUPANCY(0xd5) event also have constraints. Add
    them into the event constraints table.
    
    Fixes: 2b3b76b ("perf/x86/intel/uncore: Add Ice Lake server uncore support")
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/1629991963-102621-4-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021
  6. perf/x86/intel/uncore: Fix invalid unit check

    The uncore unit with the type ID 0 and the unit ID 0 is missed.
    
    The table3 of the uncore unit maybe 0. The
    uncore_discovery_invalid_unit() mistakenly treated it as an invalid
    value.
    
    Remove the !unit.table3 check.
    
    Fixes: edae1f0 ("perf/x86/intel/uncore: Parse uncore discovery tables")
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Andi Kleen <ak@linux.intel.com>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/1629991963-102621-3-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021
  7. perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server

    There are three channels on a Ice Lake server, but only two channels
    will ever be active. Current perf only enables two channels.
    
    Support the extra IMC channel, which may be activated on some Ice Lake
    machines. For a non-activated channel, the SW can still access it. The
    write will be ignored by the HW. 0 is always returned for the reading.
    
    Fixes: 2b3b76b ("perf/x86/intel/uncore: Add Ice Lake server uncore support")
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Andi Kleen <ak@linux.intel.com>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/1629991963-102621-2-git-send-email-kan.liang@linux.intel.com
    Kan Liang authored and Peter Zijlstra committed Aug 31, 2021

Commits on Aug 26, 2021

  1. perf/x86/amd/ibs: Add bitfield definitions in new <asm/amd-ibs.h> header

    Add <asm/amd-ibs.h> with bitfield definitions for IBS MSRs,
    and demonstrate usage within the driver.
    
    Also move 'struct perf_ibs_data' where it can be shared with
    the perf tool that will soon be using it.
    
    No functional changes.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-9-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  2. perf/amd/uncore: Allow the driver to be built as a module

    Add support to build the AMD uncore driver as a module.
    
    This is in order to facilitate development without having
    to reboot the kernel in most cases.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-8-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  3. x86/cpu: Add get_llc_id() helper function

    Factor out a helper function rather than export cpu_llc_id, which is
    needed in order to be able to build the AMD uncore driver as a module.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-7-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  4. perf/amd/uncore: Clean up header use, use <linux/ include paths inste…

    …ad of <asm/
    
    Found by checkpatch.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-6-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  5. perf/amd/uncore: Simplify code, use free_percpu()'s built-in check fo…

    …r NULL
    
    free_percpu() has its own check for NULL, no need to open-code it.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-5-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  6. perf/hw_breakpoint: Replace deprecated CPU-hotplug functions

    The functions get_online_cpus() and put_online_cpus() have been
    deprecated during the CPU hotplug rework. They map directly to
    cpus_read_lock() and cpus_read_unlock().
    
    Replace deprecated CPU-hotplug functions with the official version.
    The behavior remains unchanged.
    
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210803141621.780504-12-bigeasy@linutronix.de
    Sebastian Andrzej Siewior authored and Ingo Molnar committed Aug 26, 2021
  7. perf/x86/intel: Replace deprecated CPU-hotplug functions

    The functions get_online_cpus() and put_online_cpus() have been
    deprecated during the CPU hotplug rework. They map directly to
    cpus_read_lock() and cpus_read_unlock().
    
    Replace deprecated CPU-hotplug functions with the official version.
    The behavior remains unchanged.
    
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210803141621.780504-11-bigeasy@linutronix.de
    Sebastian Andrzej Siewior authored and Ingo Molnar committed Aug 26, 2021
  8. perf/x86: Remove unused assignment to pointer 'e'

    The pointer 'e' is being assigned a value that is never read, the assignment
    is redundant and can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lkml.kernel.org/r/20210804115710.109608-1-colin.king@canonical.com
    Colin Ian King authored and Ingo Molnar committed Aug 26, 2021
  9. Merge branch 'perf/urgent' into perf/core, to pick up fixes

    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Aug 26, 2021
  10. perf/x86/amd/power: Assign pmu.module

    Assign pmu.module so the driver can't be unloaded whilst in use.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-4-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  11. perf/x86/amd/ibs: Extend PERF_PMU_CAP_NO_EXCLUDE to IBS Op

    Commit:
    
       2ff4025 ("perf/core, arch/x86: Use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs")
    
    neglected to do so.
    
    Fixes: 2ff4025 ("perf/core, arch/x86: Use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs")
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20210817221048.88063-2-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  12. perf/x86/amd/ibs: Work around erratum #1197

    Erratum #1197 "IBS (Instruction Based Sampling) Register State May be
    Incorrect After Restore From CC6" is published in a document:
    
      "Revision Guide for AMD Family 19h Models 00h-0Fh Processors" 56683 Rev. 1.04 July 2021
    
      https://bugzilla.kernel.org/show_bug.cgi?id=206537
    
    Implement the erratum's suggested workaround and ignore IBS samples if
    MSRC001_1031 == 0.
    
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210817221048.88063-3-kim.phillips@amd.com
    kimphillamd authored and Ingo Molnar committed Aug 26, 2021
  13. perf/x86/intel/uncore: Fix integer overflow on 23 bit left shift of a…

    … u32
    
    The u32 variable pci_dword is being masked with 0x1fffffff and then left
    shifted 23 places. The shift is a u32 operation,so a value of 0x200 or
    more in pci_dword will overflow the u32 and only the bottow 32 bits
    are assigned to addr. I don't believe this was the original intent.
    Fix this by casting pci_dword to a resource_size_t to ensure no
    overflow occurs.
    
    Note that the mask and 12 bit left shift operation does not need this
    because the mask SNR_IMC_MMIO_MEM0_MASK and shift is always a 32 bit
    value.
    
    Fixes: ee49532 ("perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge")
    Addresses-Coverity: ("Unintentional integer overflow")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
    Link: https://lore.kernel.org/r/20210706114553.28249-1-colin.king@canonical.com
    Colin Ian King authored and Ingo Molnar committed Aug 26, 2021

Commits on Aug 25, 2021

  1. perf/x86/intel/pt: Fix mask of num_address_ranges

    Per SDM, bit 2:0 of CPUID(0x14,1).EAX[2:0] reports the number of
    configurable address ranges for filtering, not bit 1:0.
    
    Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Link: https://lkml.kernel.org/r/20210824040622.4081502-1-xiaoyao.li@intel.com
    calmisi authored and Peter Zijlstra committed Aug 25, 2021

Commits on Aug 22, 2021

  1. Linux 5.14-rc7

    torvalds committed Aug 22, 2021
  2. Merge tag 'powerpc-5.14-6' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix random crashes on some 32-bit CPUs by adding isync() after
       locking/unlocking KUEP
    
     - Fix intermittent crashes when loading modules with strict module RWX
    
     - Fix a section mismatch introduce by a previous fix.
    
    Thanks to Christophe Leroy, Fabiano Rosas, Laurent Vivier, Murilo
    Opsfelder Araújo, Nathan Chancellor, and Stan Johnson.
    
    h# -----BEGIN PGP SIGNATURE-----
    
    * tag 'powerpc-5.14-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/mm: Fix set_memory_*() against concurrent accesses
      powerpc/32s: Fix random crashes by adding isync() after locking/unlocking KUEP
      powerpc/xive: Do not mark xive_request_ipi() as __init
    torvalds committed Aug 22, 2021

Commits on Aug 21, 2021

  1. Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/clk/linux
    
    Pull clk driver fixes from Stephen Boyd:
    
     - Make the regulator state match the GDSC power domain state at boot on
       Qualcomm SoCs so that the regulator isn't turned off inadvertently.
    
     - Fix earlycon on i.MX6Q SoCs
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: qcom: gdsc: Ensure regulator init state matches GDSC state
      clk: imx6q: fix uart earlycon unwork
    torvalds committed Aug 21, 2021
  2. Merge tag 'char-misc-5.14-rc7' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/gregkh/char-misc
    
    Pull char/misc driver fixes from Greg KH:
     "Here are some small driver fixes for 5.14-rc7.
    
      They consist of:
    
       - revert for an interconnect patch that was found to have problems
    
       - ipack tpci200 driver fixes for reported problems
    
       - slimbus messaging and ngd fixes for reported problems
    
      All are small and have been in linux-next for a while with no reported
      issues"
    
    * tag 'char-misc-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
      ipack: tpci200: fix memory leak in the tpci200_register
      ipack: tpci200: fix many double free issues in tpci200_pci_probe
      slimbus: ngd: reset dma setup during runtime pm
      slimbus: ngd: set correct device for pm
      slimbus: messaging: check for valid transaction id
      slimbus: messaging: start transaction ids from 1 instead of zero
      Revert "interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate"
    torvalds committed Aug 21, 2021
  3. Merge tag 'usb-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    Pull USB fix from Greg KH:
     "Here is a single USB typec tcpm fix for a reported problem for
      5.14-rc7. It showed up in 5.13 and resolves an issue that Hans found.
      It has been in linux-next this week with no reported problems"
    
    * tag 'usb-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      usb: typec: tcpm: Fix VDMs sometimes not being forwarded to alt-mode drivers
    torvalds committed Aug 21, 2021
  4. Merge tag 'riscv-for-linus-5.14-rc7' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - fix the sifive-l2-cache device tree bindings for json-schema
       compatibility. This does not change the intended behavior of the
       binding.
    
     - avoid improperly freeing necessary resources during early boot.
    
    * tag 'riscv-for-linus-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      riscv: Fix a number of free'd resources in init_resources()
      dt-bindings: sifive-l2-cache: Fix 'select' matching
    torvalds committed Aug 21, 2021
  5. Merge tag 's390-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/s390/linux
    
    Pull s390 fix from Vasily Gorbik:
    
     - fix use after free of zpci_dev in pci code
    
    * tag 's390-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/pci: fix use after free of zpci_dev
    torvalds committed Aug 21, 2021
  6. Merge tag 'locks-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/jlayton/linux
    
    Pull mandatory file locking deprecation warning from Jeff Layton:
     "As discussed on the list, this patch just adds a new warning for folks
      who still have mandatory locking enabled and actually mount with '-o
      mand'. I'd like to get this in for v5.14 so we can push this out into
      stable kernels and hopefully reach folks who have mounts with -o mand.
    
      For now, I'm operating under the assumption that we'll fully remove
      this support in v5.15, but we can move that out if any legitimate
      users of this facility speak up between now and then"
    
    * tag 'locks-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
      fs: warn about impending deprecation of mandatory locks
    torvalds committed Aug 21, 2021
  7. Merge tag 'block-5.14-2021-08-20' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
     "Three fixes from Ming Lei that should go into 5.14:
    
       - Fix for a kernel panic when iterating over tags for some cases
         where a flush request is present, a regression in this cycle.
    
       - Request timeout fix
    
       - Fix flush request checking"
    
    * tag 'block-5.14-2021-08-20' of git://git.kernel.dk/linux-block:
      blk-mq: fix is_flush_rq
      blk-mq: fix kernel panic during iterating over flush request
      blk-mq: don't grab rq's refcount in blk_mq_check_expired()
    torvalds committed Aug 21, 2021
  8. Merge tag 'io_uring-5.14-2021-08-20' of git://git.kernel.dk/linux-block

    Pull io_uring fixes from Jens Axboe:
     "A few small fixes that should go into this release:
    
       - Fix never re-assigning an initial error value for io_uring_enter()
         for SQPOLL, if asked to do nothing
    
       - Fix xa_alloc_cycle() return value checking, for cases where we have
         wrapped around
    
       - Fix for a ctx pin issue introduced in this cycle (Pavel)"
    
    * tag 'io_uring-5.14-2021-08-20' of git://git.kernel.dk/linux-block:
      io_uring: fix xa_alloc_cycle() error return value check
      io_uring: pin ctx on fallback execution
      io_uring: only assign io_uring_enter() SQPOLL error in actual error case
    torvalds committed Aug 21, 2021
  9. fs: warn about impending deprecation of mandatory locks

    We've had CONFIG_MANDATORY_FILE_LOCKING since 2015 and a lot of distros
    have disabled it. Warn the stragglers that still use "-o mand" that
    we'll be dropping support for that mount option.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    jtlayton committed Aug 21, 2021

Commits on Aug 20, 2021

  1. io_uring: fix xa_alloc_cycle() error return value check

    We currently check for ret != 0 to indicate error, but '1' is a valid
    return and just indicates that the allocation succeeded with a wrap.
    Correct the check to be for < 0, like it was before the xarray
    conversion.
    
    Cc: stable@vger.kernel.org
    Fixes: 61cf937 ("io_uring: Convert personality_idr to XArray")
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    axboe committed Aug 20, 2021
Older