Unverified Commit c63c3203 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3061 drivers: perf: Add feature flag check in armpmu_add/del

parents 934ede62 82488596
Loading
Loading
Loading
Loading
+19 −15
Original line number Diff line number Diff line
@@ -313,10 +313,12 @@ armpmu_del(struct perf_event *event, int flags)
	struct hw_perf_event *hwc = &event->hw;
	int idx = hwc->idx;

	if (has_branch_stack(event)) {
		WARN_ON_ONCE(!hw_events->brbe_users);
		hw_events->brbe_users--;
		if (!hw_events->brbe_users)
			hw_events->brbe_context = NULL;
	}

	armpmu_stop(event, PERF_EF_UPDATE);
	hw_events->events[idx] = NULL;
@@ -334,6 +336,7 @@ armpmu_add(struct perf_event *event, int flags)
	struct hw_perf_event *hwc = &event->hw;
	int idx;

	if (has_branch_stack(event)) {
		/*
		 * Reset branch records buffer if a new task event gets
		 * scheduled on a PMU which might have existing records.
@@ -346,6 +349,7 @@ armpmu_add(struct perf_event *event, int flags)
				armpmu->branch_reset();
		}
		hw_events->brbe_users++;
	}

	/* An event following a process won't be stopped earlier */
	if (!cpumask_test_cpu(smp_processor_id(), &armpmu->supported_cpus))