Re: [PATCH v3 00/14] perf/hw_breakpoint: Optimize for thousands of tasks
From: Marco Elver <elver@google.com>
Date: 2022-08-16 14:12:52
Also in:
linux-perf-users, linux-sh, lkml
On Wed, 20 Jul 2022 at 17:47, Ian Rogers [off-list ref] wrote:
On Tue, Jul 12, 2022 at 6:41 AM Marco Elver [off-list ref] wrote:quoted
On Mon, 4 Jul 2022 at 17:05, Marco Elver [off-list ref] wrote:quoted
The hw_breakpoint subsystem's code has seen little change in over 10 years. In that time, systems with >100s of CPUs have become common, along with improvements to the perf subsystem: using breakpoints on thousands of concurrent tasks should be a supported usecase.[...]quoted
Marco Elver (14): perf/hw_breakpoint: Add KUnit test for constraints accounting perf/hw_breakpoint: Provide hw_breakpoint_is_used() and use in test perf/hw_breakpoint: Clean up headers perf/hw_breakpoint: Optimize list of per-task breakpoints perf/hw_breakpoint: Mark data __ro_after_init perf/hw_breakpoint: Optimize constant number of breakpoint slots perf/hw_breakpoint: Make hw_breakpoint_weight() inlinable perf/hw_breakpoint: Remove useless code related to flexible breakpoints powerpc/hw_breakpoint: Avoid relying on caller synchronization locking/percpu-rwsem: Add percpu_is_write_locked() and percpu_is_read_locked() perf/hw_breakpoint: Reduce contention with large number of tasks perf/hw_breakpoint: Introduce bp_slots_histogram perf/hw_breakpoint: Optimize max_bp_pinned_slots() for CPU-independent task targets perf/hw_breakpoint: Optimize toggle_bp_slot() for CPU-independent task targets[...] This is ready from our side, and given the silence, assume it's ready to pick up and/or have a maintainer take a look. Since this is mostly kernel/events, would -tip/perf/core be appropriate?These are awesome improvements, I've added my acked-by to every change. I hope we can pull these changes, as you say, into tip.git perf/core and get them into 5.20.
These still apply cleanly to 6.0-rc1 and the test passes, but let me know if I shall send a rebased version. Thanks -- Marco