linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Namhyung Kim <namhyung@kernel.org>,
	linux-perf-users@vger.kernel.org
Subject: [GIT PULL] Performance events changes for v6.12
Date: Wed, 18 Sep 2024 14:45:39 +0200	[thread overview]
Message-ID: <ZurLc9qEjBH9MkvK@gmail.com> (raw)

Linus,

Please pull the latest perf/core Git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-2024-09-18

   # HEAD: 5e645f31139183ac9a282238da18ca6bbc1c6f4a Merge branch 'perf/urgent' into perf/core, to pick up fixes

   [ Merge note: this pull request depends on you having pulled perf-urgent-2024-09-18 already. ]

Performance events changes for v6.12:

 - Implement per-PMU context rescheduling to significantly improve single-PMU
   performance, and related cleanups/fixes. (by Peter Zijlstra and Namhyung Kim)

 - Fix ancient bug resulting in a lot of events being dropped erroneously
   at higher sampling frequencies. (by Luo Gengkun)

 - uprobes enhancements:

     - Implement RCU-protected hot path optimizations for better performance:

         "For baseline vs SRCU, peak througput increased from 3.7 M/s (million uprobe
          triggerings per second) up to about 8 M/s. For uretprobes it's a bit more
          modest with bump from 2.4 M/s to 5 M/s.

          For SRCU vs RCU Tasks Trace, peak throughput for uprobes increases further from
          8 M/s to 10.3 M/s (+28%!), and for uretprobes from 5.3 M/s to 5.8 M/s (+11%),
          as we have more work to do on uretprobes side.

          Even single-thread (no contention) performance is slightly better: 3.276 M/s to
          3.396 M/s (+3.5%) for uprobes, and 2.055 M/s to 2.174 M/s (+5.8%)
          for uretprobes."

          (by Andrii Nakryiko et al)

     - Document mmap_lock, don't abuse get_user_pages_remote(). (by Oleg Nesterov)

     - Cleanups & fixes to prepare for future work:

        - Remove uprobe_register_refctr()
	- Simplify error handling for alloc_uprobe()
        - Make uprobe_register() return struct uprobe *
        - Fold __uprobe_unregister() into uprobe_unregister()
        - Shift put_uprobe() from delete_uprobe() to uprobe_unregister()
        - BPF: Fix use-after-free in bpf_uprobe_multi_link_attach()

          (by Oleg Nesterov)

 - New feature & ABI extension: allow events to use PERF_SAMPLE READ with
   inheritance, enabling sample based profiling of a group of counters over
   a hierarchy of processes or threads.  (by Ben Gainey)

 - Intel uncore & power events updates:

      - Add Arrow Lake and Lunar Lake support
      - Add PERF_EV_CAP_READ_SCOPE
      - Clean up and enhance cpumask and hotplug support

        (by Kan Liang)

      - Add LNL uncore iMC freerunning support
      - Use D0:F0 as a default device

        (by Zhenyu Wang)

 - Intel PT: fix AUX snapshot handling race. (by Adrian Hunter)

 - Misc fixes and cleanups. (by James Clark, Jiri Olsa, Oleg Nesterov and Peter Zijlstra)

Thanks,

	Ingo

------------------>

Adrian Hunter (1):
      perf/x86/intel/pt: Fix sampling synchronization

Andrii Nakryiko (7):
      perf,x86: avoid missing caller address in stack traces captured in uprobe
      uprobes: simplify error handling for alloc_uprobe()
      uprobes: revamp uprobe refcounting and lifetime management
      uprobes: protected uprobe lifetime with SRCU
      uprobes: get rid of enum uprobe_filter_ctx in uprobe filter callbacks
      uprobes: travers uprobe's consumer list locklessly under SRCU protection
      uprobes: perform lockless SRCU-protected uprobes_tree lookup

Ben Gainey (2):
      perf: Rename perf_event_context.nr_pending to nr_no_switch_fast.
      perf: Support PERF_SAMPLE_READ with inherit

Ingo Molnar (2):
      Merge branch 'perf/urgent' into perf/core, to pick up fixes
      Merge branch 'perf/urgent' into perf/core, to pick up fixes

James Clark (1):
      perf/x86/intel/bts: Fix comment about default perf_event_paranoid setting

Jiri Olsa (1):
      selftests/bpf: fix uprobe.path leak in bpf_testmod

Kan Liang (8):
      perf/x86/intel/uncore: Add Arrow Lake support
      perf/x86/intel/uncore: Factor out common MMIO init and ops functions
      perf/x86/intel/uncore: Add Lunar Lake support
      perf: Generic hotplug support for a PMU with a scope
      perf: Add PERF_EV_CAP_READ_SCOPE
      perf/x86/intel/cstate: Clean up cpumask and hotplug
      iommu/vt-d: Clean up cpumask and hotplug for perfmon
      dmaengine: idxd: Clean up cpumask and hotplug for perfmon

Luo Gengkun (1):
      perf/core: Fix small negative period being ignored

Namhyung Kim (1):
      perf: Really fix event_function_call() locking

Oleg Nesterov (8):
      uprobes: document the usage of mm->mmap_lock
      uprobes: is_trap_at_addr: don't use get_user_pages_remote()
      uprobes: kill uprobe_register_refctr()
      uprobes: make uprobe_register() return struct uprobe *
      uprobes: change uprobe_register() to use uprobe_unregister() instead of __uprobe_unregister()
      uprobes: fold __uprobe_unregister() into uprobe_unregister()
      uprobes: shift put_uprobe() from delete_uprobe() to uprobe_unregister()
      bpf: Fix use-after-free in bpf_uprobe_multi_link_attach()

Peter Zijlstra (8):
      perf/x86: Add hw_perf_event::aux_config
      perf: Optimize context reschedule for single PMU cases
      perf: Extract a few helpers
      perf: Fix event_function_call() locking
      perf: Add context time freeze
      perf: Optimize __pmu_ctx_sched_out()
      perf/uprobe: split uprobe_unregister()
      rbtree: provide rb_find_rcu() / rb_find_add_rcu()

Zhenyu Wang (2):
      perf/x86/intel/uncore: Add LNL uncore iMC freerunning support
      perf/x86/intel/uncore: Use D0:F0 as a default device

 arch/x86/events/core.c                                |  63 +++++++++++++++++++
 arch/x86/events/intel/bts.c                           |   3 -
 arch/x86/events/intel/cstate.c                        | 142 ++-----------------------------------------
 arch/x86/events/intel/pt.c                            |  29 +++++----
 arch/x86/events/intel/uncore.c                        |   9 +++
 arch/x86/events/intel/uncore.h                        |   2 +
 arch/x86/events/intel/uncore_snb.c                    | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 drivers/dma/idxd/idxd.h                               |   7 ---
 drivers/dma/idxd/init.c                               |   3 -
 drivers/dma/idxd/perfmon.c                            |  98 +-----------------------------
 drivers/iommu/intel/iommu.h                           |   2 -
 drivers/iommu/intel/perfmon.c                         | 111 +---------------------------------
 include/linux/cpuhotplug.h                            |   2 -
 include/linux/perf_event.h                            |  32 +++++++++-
 include/linux/rbtree.h                                |  67 +++++++++++++++++++++
 include/linux/uprobes.h                               |  48 ++++++++-------
 kernel/events/core.c                                  | 586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------
 kernel/events/uprobes.c                               | 505 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------
 kernel/trace/bpf_trace.c                              |  38 ++++++------
 kernel/trace/trace_uprobe.c                           |  44 +++++++-------
 tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c |  27 +++++----
 21 files changed, 1146 insertions(+), 857 deletions(-)

             reply	other threads:[~2024-09-18 12:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18 12:45 Ingo Molnar [this message]
2024-09-18 13:00 ` [GIT PULL] Performance events changes for v6.12 Linus Torvalds
     [not found]   ` <ZuvhwjNgDmpmReUl@gmail.com>
2024-09-19  8:42     ` Linus Torvalds
2024-09-19  8:48       ` Ingo Molnar
2024-09-19  8:50         ` Linus Torvalds
2024-09-18 13:12 ` Linus Torvalds
2024-09-19  8:42   ` Ingo Molnar
2024-09-18 14:00 ` pr-tracker-bot
2024-09-18 22:26 ` Stephen Rothwell
2024-09-19  9:53   ` Ingo Molnar
2024-09-19 10:42     ` Stephen Rothwell
2024-09-21 22:39     ` Linus Torvalds
2024-09-22 19:50       ` Linus Torvalds
2024-09-23 15:27         ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZurLc9qEjBH9MkvK@gmail.com \
    --to=mingo@kernel.org \
    --cc=acme@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).