Commit faf8f418 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'perf_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf fixes from Borislav Petkov:

 - Fix "same task" check when redirecting event output

 - Do not wait unconditionally for RCU on the event migration path if
   there are no events to migrate

* tag 'perf_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf/core: Fix the same task check in perf_event_set_output
  perf: Optimize perf_pmu_migrate_context()
parents 4ba115e2 24d3ae2f
...@@ -12173,7 +12173,7 @@ perf_event_set_output(struct perf_event *event, struct perf_event *output_event) ...@@ -12173,7 +12173,7 @@ perf_event_set_output(struct perf_event *event, struct perf_event *output_event)
/* /*
* If its not a per-cpu rb, it must be the same task. * If its not a per-cpu rb, it must be the same task.
*/ */
if (output_event->cpu == -1 && output_event->ctx != event->ctx) if (output_event->cpu == -1 && output_event->hw.target != event->hw.target)
goto out; goto out;
/* /*
...@@ -12893,12 +12893,14 @@ void perf_pmu_migrate_context(struct pmu *pmu, int src_cpu, int dst_cpu) ...@@ -12893,12 +12893,14 @@ void perf_pmu_migrate_context(struct pmu *pmu, int src_cpu, int dst_cpu)
__perf_pmu_remove(src_ctx, src_cpu, pmu, &src_ctx->pinned_groups, &events); __perf_pmu_remove(src_ctx, src_cpu, pmu, &src_ctx->pinned_groups, &events);
__perf_pmu_remove(src_ctx, src_cpu, pmu, &src_ctx->flexible_groups, &events); __perf_pmu_remove(src_ctx, src_cpu, pmu, &src_ctx->flexible_groups, &events);
/* if (!list_empty(&events)) {
* Wait for the events to quiesce before re-instating them. /*
*/ * Wait for the events to quiesce before re-instating them.
synchronize_rcu(); */
synchronize_rcu();
__perf_pmu_install(dst_ctx, dst_cpu, pmu, &events); __perf_pmu_install(dst_ctx, dst_cpu, pmu, &events);
}
mutex_unlock(&dst_ctx->mutex); mutex_unlock(&dst_ctx->mutex);
mutex_unlock(&src_ctx->mutex); mutex_unlock(&src_ctx->mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment