perf/core: Remove perf_event::group_entry

Now that all the grouping is done with RB trees, we no longer need
group_entry and can replace the whole thing with sibling_list.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Carrillo-Cisneros <davidcc@google.com>
Cc: Dmitri Prokhorov <Dmitry.Prohorov@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Valery Cherepennikov <valery.cherepennikov@intel.com>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
此提交包含在:
Peter Zijlstra
2017-11-13 14:28:33 +01:00
提交者 Ingo Molnar
父節點 1cac7b1ae3
當前提交 8343aae661
共有 19 個檔案被更改,包括 36 行新增43 行删除

查看文件

@@ -536,7 +536,7 @@ static bool dsu_pmu_validate_group(struct perf_event *event)
memset(fake_hw.used_mask, 0, sizeof(fake_hw.used_mask));
if (!dsu_pmu_validate_event(event->pmu, &fake_hw, leader))
return false;
list_for_each_entry(sibling, &leader->sibling_list, group_entry) {
list_for_each_entry(sibling, &leader->sibling_list, sibling_list) {
if (!dsu_pmu_validate_event(event->pmu, &fake_hw, sibling))
return false;
}

查看文件

@@ -311,7 +311,7 @@ validate_group(struct perf_event *event)
if (!validate_event(event->pmu, &fake_pmu, leader))
return -EINVAL;
list_for_each_entry(sibling, &leader->sibling_list, group_entry) {
list_for_each_entry(sibling, &leader->sibling_list, sibling_list) {
if (!validate_event(event->pmu, &fake_pmu, sibling))
return -EINVAL;
}

查看文件

@@ -82,8 +82,7 @@ static bool hisi_validate_event_group(struct perf_event *event)
counters++;
}
list_for_each_entry(sibling, &event->group_leader->sibling_list,
group_entry) {
list_for_each_entry(sibling, &event->group_leader->sibling_list, sibling_list) {
if (is_software_event(sibling))
continue;
if (sibling->pmu != event->pmu)

查看文件

@@ -535,7 +535,7 @@ static int l2_cache_event_init(struct perf_event *event)
}
list_for_each_entry(sibling, &event->group_leader->sibling_list,
group_entry)
sibling_list)
if (sibling->pmu != event->pmu &&
!is_software_event(sibling)) {
dev_dbg_ratelimited(&l2cache_pmu->pdev->dev,
@@ -572,7 +572,7 @@ static int l2_cache_event_init(struct perf_event *event)
}
list_for_each_entry(sibling, &event->group_leader->sibling_list,
group_entry) {
sibling_list) {
if ((sibling != event) &&
!is_software_event(sibling) &&
(L2_EVT_GROUP(sibling->attr.config) ==

查看文件

@@ -468,7 +468,7 @@ static bool qcom_l3_cache__validate_event_group(struct perf_event *event)
counters = event_num_counters(event);
counters += event_num_counters(leader);
list_for_each_entry(sibling, &leader->sibling_list, group_entry) {
list_for_each_entry(sibling, &leader->sibling_list, sibling_list) {
if (is_software_event(sibling))
continue;
if (sibling->pmu != event->pmu)

查看文件

@@ -950,7 +950,7 @@ static int xgene_perf_event_init(struct perf_event *event)
return -EINVAL;
list_for_each_entry(sibling, &event->group_leader->sibling_list,
group_entry)
sibling_list)
if (sibling->pmu != event->pmu &&
!is_software_event(sibling))
return -EINVAL;