All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.