From: Ian Rogers <irogers@google.com> To: Andi Kleen <ak@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>, John Garry <john.garry@huawei.com>, Kajol Jain <kjain@linux.ibm.com>, "Paul A . Clarke" <pc@us.ibm.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Riccardo Mancini <rickyman7@gmail.com>, Kan Liang <kan.liang@linux.intel.com>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Vineet Singh <vineet.singh@intel.com>, James Clark <james.clark@arm.com>, Mathieu Poirier <mathieu.poirier@linaro.org>, Suzuki K Poulose <suzuki.poulose@arm.com>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, zhengjun.xing@intel.com Cc: eranian@google.com, Ian Rogers <irogers@google.com> Subject: [PATCH v3 04/48] perf stat: Switch aggregation to use for_each loop Date: Wed, 29 Dec 2021 23:19:46 -0800 [thread overview] Message-ID: <20211230072030.302559-6-irogers@google.com> (raw) In-Reply-To: <20211230072030.302559-1-irogers@google.com> Tidy up the use of cpu and index to hopefully make the code less error prone. Avoid unused warnings with (void) which will be removed in a later patch. Reviewed-by: James Clark <james.clark@arm.com> Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/stat-display.c | 48 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index b0fa81ffce61..efab39a759ff 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -330,8 +330,8 @@ static void print_metric_header(struct perf_stat_config *config, static int first_shadow_cpu(struct perf_stat_config *config, struct evsel *evsel, struct aggr_cpu_id id) { - struct evlist *evlist = evsel->evlist; - int i; + struct perf_cpu_map *cpus; + int cpu, idx; if (config->aggr_mode == AGGR_NONE) return id.core; @@ -339,14 +339,11 @@ static int first_shadow_cpu(struct perf_stat_config *config, if (!config->aggr_get_id) return 0; - for (i = 0; i < evsel__nr_cpus(evsel); i++) { - int cpu2 = evsel__cpus(evsel)->map[i]; - - if (cpu_map__compare_aggr_cpu_id( - config->aggr_get_id(config, evlist->core.cpus, cpu2), - id)) { - return cpu2; - } + cpus = evsel__cpus(evsel); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + if (cpu_map__compare_aggr_cpu_id(config->aggr_get_id(config, cpus, idx), + id)) + return cpu; } return 0; } @@ -516,20 +513,23 @@ static void printout(struct perf_stat_config *config, struct aggr_cpu_id id, int static void aggr_update_shadow(struct perf_stat_config *config, struct evlist *evlist) { - int cpu, s; + int cpu, idx, s; struct aggr_cpu_id s2, id; u64 val; struct evsel *counter; + struct perf_cpu_map *cpus; for (s = 0; s < config->aggr_map->nr; s++) { id = config->aggr_map->map[s]; evlist__for_each_entry(evlist, counter) { + cpus = evsel__cpus(counter); val = 0; - for (cpu = 0; cpu < evsel__nr_cpus(counter); cpu++) { - s2 = config->aggr_get_id(config, evsel__cpus(counter), cpu); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + (void)cpu; + s2 = config->aggr_get_id(config, cpus, idx); if (!cpu_map__compare_aggr_cpu_id(s2, id)) continue; - val += perf_counts(counter->counts, cpu, 0)->val; + val += perf_counts(counter->counts, idx, 0)->val; } perf_stat__update_shadow_stats(counter, val, first_shadow_cpu(config, counter, id), @@ -634,18 +634,21 @@ static void aggr_cb(struct perf_stat_config *config, struct evsel *counter, void *data, bool first) { struct aggr_data *ad = data; - int cpu; + int idx, cpu; + struct perf_cpu_map *cpus; struct aggr_cpu_id s2; - for (cpu = 0; cpu < evsel__nr_cpus(counter); cpu++) { + cpus = evsel__cpus(counter); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { struct perf_counts_values *counts; - s2 = config->aggr_get_id(config, evsel__cpus(counter), cpu); + (void)cpu; + s2 = config->aggr_get_id(config, cpus, idx); if (!cpu_map__compare_aggr_cpu_id(s2, ad->id)) continue; if (first) ad->nr++; - counts = perf_counts(counter->counts, cpu, 0); + counts = perf_counts(counter->counts, idx, 0); /* * When any result is bad, make them all to give * consistent output in interval mode. @@ -1208,10 +1211,13 @@ static void print_percore_thread(struct perf_stat_config *config, { int s; struct aggr_cpu_id s2, id; + struct perf_cpu_map *cpus; bool first = true; + int idx, cpu; - for (int i = 0; i < evsel__nr_cpus(counter); i++) { - s2 = config->aggr_get_id(config, evsel__cpus(counter), i); + cpus = evsel__cpus(counter); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + s2 = config->aggr_get_id(config, cpus, idx); for (s = 0; s < config->aggr_map->nr; s++) { id = config->aggr_map->map[s]; if (cpu_map__compare_aggr_cpu_id(s2, id)) @@ -1220,7 +1226,7 @@ static void print_percore_thread(struct perf_stat_config *config, print_counter_aggrdata(config, counter, s, prefix, false, - &first, i); + &first, cpu); } } -- 2.34.1.448.ga2b2bfdf31-goog
WARNING: multiple messages have this Message-ID (diff)
From: Ian Rogers <irogers@google.com> To: Andi Kleen <ak@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>, John Garry <john.garry@huawei.com>, Kajol Jain <kjain@linux.ibm.com>, "Paul A . Clarke" <pc@us.ibm.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Riccardo Mancini <rickyman7@gmail.com>, Kan Liang <kan.liang@linux.intel.com>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Vineet Singh <vineet.singh@intel.com>, James Clark <james.clark@arm.com>, Mathieu Poirier <mathieu.poirier@linaro.org>, Suzuki K Poulose <suzuki.poulose@arm.com>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, zhengjun.xing@intel.com Cc: eranian@google.com, Ian Rogers <irogers@google.com> Subject: [PATCH v3 04/48] perf stat: Switch aggregation to use for_each loop Date: Wed, 29 Dec 2021 23:19:46 -0800 [thread overview] Message-ID: <20211230072030.302559-6-irogers@google.com> (raw) In-Reply-To: <20211230072030.302559-1-irogers@google.com> Tidy up the use of cpu and index to hopefully make the code less error prone. Avoid unused warnings with (void) which will be removed in a later patch. Reviewed-by: James Clark <james.clark@arm.com> Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/stat-display.c | 48 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index b0fa81ffce61..efab39a759ff 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -330,8 +330,8 @@ static void print_metric_header(struct perf_stat_config *config, static int first_shadow_cpu(struct perf_stat_config *config, struct evsel *evsel, struct aggr_cpu_id id) { - struct evlist *evlist = evsel->evlist; - int i; + struct perf_cpu_map *cpus; + int cpu, idx; if (config->aggr_mode == AGGR_NONE) return id.core; @@ -339,14 +339,11 @@ static int first_shadow_cpu(struct perf_stat_config *config, if (!config->aggr_get_id) return 0; - for (i = 0; i < evsel__nr_cpus(evsel); i++) { - int cpu2 = evsel__cpus(evsel)->map[i]; - - if (cpu_map__compare_aggr_cpu_id( - config->aggr_get_id(config, evlist->core.cpus, cpu2), - id)) { - return cpu2; - } + cpus = evsel__cpus(evsel); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + if (cpu_map__compare_aggr_cpu_id(config->aggr_get_id(config, cpus, idx), + id)) + return cpu; } return 0; } @@ -516,20 +513,23 @@ static void printout(struct perf_stat_config *config, struct aggr_cpu_id id, int static void aggr_update_shadow(struct perf_stat_config *config, struct evlist *evlist) { - int cpu, s; + int cpu, idx, s; struct aggr_cpu_id s2, id; u64 val; struct evsel *counter; + struct perf_cpu_map *cpus; for (s = 0; s < config->aggr_map->nr; s++) { id = config->aggr_map->map[s]; evlist__for_each_entry(evlist, counter) { + cpus = evsel__cpus(counter); val = 0; - for (cpu = 0; cpu < evsel__nr_cpus(counter); cpu++) { - s2 = config->aggr_get_id(config, evsel__cpus(counter), cpu); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + (void)cpu; + s2 = config->aggr_get_id(config, cpus, idx); if (!cpu_map__compare_aggr_cpu_id(s2, id)) continue; - val += perf_counts(counter->counts, cpu, 0)->val; + val += perf_counts(counter->counts, idx, 0)->val; } perf_stat__update_shadow_stats(counter, val, first_shadow_cpu(config, counter, id), @@ -634,18 +634,21 @@ static void aggr_cb(struct perf_stat_config *config, struct evsel *counter, void *data, bool first) { struct aggr_data *ad = data; - int cpu; + int idx, cpu; + struct perf_cpu_map *cpus; struct aggr_cpu_id s2; - for (cpu = 0; cpu < evsel__nr_cpus(counter); cpu++) { + cpus = evsel__cpus(counter); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { struct perf_counts_values *counts; - s2 = config->aggr_get_id(config, evsel__cpus(counter), cpu); + (void)cpu; + s2 = config->aggr_get_id(config, cpus, idx); if (!cpu_map__compare_aggr_cpu_id(s2, ad->id)) continue; if (first) ad->nr++; - counts = perf_counts(counter->counts, cpu, 0); + counts = perf_counts(counter->counts, idx, 0); /* * When any result is bad, make them all to give * consistent output in interval mode. @@ -1208,10 +1211,13 @@ static void print_percore_thread(struct perf_stat_config *config, { int s; struct aggr_cpu_id s2, id; + struct perf_cpu_map *cpus; bool first = true; + int idx, cpu; - for (int i = 0; i < evsel__nr_cpus(counter); i++) { - s2 = config->aggr_get_id(config, evsel__cpus(counter), i); + cpus = evsel__cpus(counter); + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + s2 = config->aggr_get_id(config, cpus, idx); for (s = 0; s < config->aggr_map->nr; s++) { id = config->aggr_map->map[s]; if (cpu_map__compare_aggr_cpu_id(s2, id)) @@ -1220,7 +1226,7 @@ static void print_percore_thread(struct perf_stat_config *config, print_counter_aggrdata(config, counter, s, prefix, false, - &first, i); + &first, cpu); } } -- 2.34.1.448.ga2b2bfdf31-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-12-30 7:20 UTC|newest] Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-30 7:19 [PATCH v3 00/48] Refactor perf cpumap Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 01/48] libperf: Add comments to perf_cpu_map Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3] perf evlist: Remove group option Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2022-01-04 14:21 ` Jiri Olsa 2022-01-04 14:21 ` Jiri Olsa 2022-01-04 17:01 ` Ian Rogers 2022-01-04 17:01 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 02/48] perf stat: Add aggr creators that are passed a cpu Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 03/48] perf stat: Correct aggregation CPU map Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2022-01-04 14:19 ` Jiri Olsa 2022-01-04 14:19 ` Jiri Olsa 2021-12-30 7:19 ` Ian Rogers [this message] 2021-12-30 7:19 ` [PATCH v3 04/48] perf stat: Switch aggregation to use for_each loop Ian Rogers 2021-12-30 7:19 ` [PATCH v3 05/48] perf stat: Switch to cpu version of cpu_map__get Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 06/48] perf cpumap: Switch cpu_map__build_map to cpu function Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2022-01-10 20:46 ` Arnaldo Carvalho de Melo 2022-01-10 20:46 ` Arnaldo Carvalho de Melo 2022-01-10 21:03 ` Arnaldo Carvalho de Melo 2022-01-10 21:03 ` Arnaldo Carvalho de Melo 2022-01-10 21:23 ` Arnaldo Carvalho de Melo 2022-01-10 21:23 ` Arnaldo Carvalho de Melo 2022-01-10 21:34 ` Arnaldo Carvalho de Melo 2022-01-10 21:34 ` Arnaldo Carvalho de Melo 2022-01-10 22:29 ` Ian Rogers 2022-01-10 22:29 ` Ian Rogers 2022-01-11 0:41 ` Arnaldo Carvalho de Melo 2022-01-11 0:41 ` Arnaldo Carvalho de Melo 2022-01-11 0:50 ` Arnaldo Carvalho de Melo 2022-01-11 0:50 ` Arnaldo Carvalho de Melo 2022-01-11 15:12 ` Arnaldo Carvalho de Melo 2022-01-11 15:12 ` Arnaldo Carvalho de Melo 2021-12-30 7:19 ` [PATCH v3 07/48] perf cpumap: Remove map+index get_socket Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 08/48] perf cpumap: Remove map+index get_die Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2022-01-04 14:19 ` Jiri Olsa 2022-01-04 14:19 ` Jiri Olsa 2021-12-30 7:19 ` [PATCH v3 09/48] perf cpumap: Remove map+index get_core Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 10/48] perf cpumap: Remove map+index get_node Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 11/48] perf cpumap: Add comments to aggr_cpu_id Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 12/48] perf cpumap: Remove unused cpu_map__socket Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 13/48] perf cpumap: Simplify equal function name Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 14/48] perf cpumap: Rename empty functions Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 15/48] perf cpumap: Document cpu__get_node and remove redundant function Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 16/48] perf cpumap: Remove map from function names that don't use a map Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:19 ` [PATCH v3 17/48] perf cpumap: Remove cpu_map__cpu, use libperf function Ian Rogers 2021-12-30 7:19 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 18/48] perf cpumap: Refactor cpu_map__build_map Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2022-01-04 14:20 ` Jiri Olsa 2022-01-04 14:20 ` Jiri Olsa 2021-12-30 7:20 ` [PATCH v3 19/48] perf cpumap: Rename cpu_map__get_X_aggr_by_cpu functions Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 20/48] perf cpumap: Move 'has' function to libperf Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 21/48] perf cpumap: Add some comments to cpu_aggr_map Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 22/48] perf cpumap: Trim the cpu_aggr_map Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 23/48] perf stat: Fix memory leak in check_per_pkg Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 24/48] perf cpumap: Add CPU to aggr_cpu_id Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 25/48] perf stat-display: Avoid use of core for CPU Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 26/48] perf evsel: Derive CPUs and threads in alloc_counts Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 27/48] libperf: Switch cpu to more accurate cpu_map_idx Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 28/48] libperf: Use cpu not index for evsel mmap Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 29/48] perf counts: Switch name cpu to cpu_map_idx Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 30/48] perf stat: Rename aggr_data cpu to imply it's an index Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 31/48] perf stat: Use perf_cpu_map__for_each_cpu Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 32/48] perf script: Use for each cpu to aid readability Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 33/48] libperf: Allow NULL in perf_cpu_map__idx Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 34/48] perf evlist: Refactor evlist__for_each_cpu Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 35/48] perf evsel: Pass cpu not cpu map index to synthesize Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 36/48] perf stat: Correct variable name for read counter Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 37/48] perf evsel: Rename CPU around get_group_fd Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 38/48] perf evsel: Reduce scope of evsel__ignore_missing_thread Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 39/48] perf evsel: Rename variable cpu to index Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 40/48] perf test: Use perf_cpu_map__for_each_cpu Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 41/48] perf stat: Correct check_per_pkg cpu Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 42/48] perf stat: Swap variable name cpu to index Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 43/48] libperf: Sync evsel documentation Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 44/48] perf bpf: Rename cpu to cpu_map_idx Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 45/48] perf c2c: Use more intention revealing iterator Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 46/48] perf script: Fix flipped index and cpu Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 47/48] perf stat: Correct first_shadow_cpu to return index Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2021-12-30 7:20 ` [PATCH v3 48/48] perf cpumap: Give CPUs their own type Ian Rogers 2021-12-30 7:20 ` Ian Rogers 2022-01-04 14:24 ` [PATCH v3 00/48] Refactor perf cpumap Jiri Olsa 2022-01-04 14:24 ` Jiri Olsa 2022-01-04 17:08 ` Ian Rogers 2022-01-04 17:08 ` Ian Rogers
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211230072030.302559-6-irogers@google.com \ --to=irogers@google.com \ --cc=acme@kernel.org \ --cc=ak@linux.intel.com \ --cc=alexander.shishkin@linux.intel.com \ --cc=coresight@lists.linaro.org \ --cc=eranian@google.com \ --cc=james.clark@arm.com \ --cc=john.garry@huawei.com \ --cc=jolsa@redhat.com \ --cc=kan.liang@linux.intel.com \ --cc=kjain@linux.ibm.com \ --cc=leo.yan@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-perf-users@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mathieu.poirier@linaro.org \ --cc=mike.leach@linaro.org \ --cc=mingo@redhat.com \ --cc=namhyung@kernel.org \ --cc=pc@us.ibm.com \ --cc=peterz@infradead.org \ --cc=rickyman7@gmail.com \ --cc=suzuki.poulose@arm.com \ --cc=vineet.singh@intel.com \ --cc=zhengjun.xing@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.