Message ID | 20220704150514.48816-1-elver@google.com (mailing list archive) |
---|---|
Headers | show |
Series | perf/hw_breakpoint: Optimize for thousands of tasks | expand |
On Mon, 4 Jul 2022 at 17:05, Marco Elver <elver@google.com> wrote: > > 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. [...] > 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? Thanks, -- Marco
On Tue, Jul 12, 2022 at 6:41 AM Marco Elver <elver@google.com> wrote: > > On Mon, 4 Jul 2022 at 17:05, Marco Elver <elver@google.com> wrote: > > > > 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. > [...] > > 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. Thanks, Ian > Thanks, > -- Marco
On Wed, 20 Jul 2022 at 17:47, Ian Rogers <irogers@google.com> wrote: > On Tue, Jul 12, 2022 at 6:41 AM Marco Elver <elver@google.com> wrote: > > On Mon, 4 Jul 2022 at 17:05, Marco Elver <elver@google.com> wrote: > > > 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. > > [...] > > > 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