Re: linux-next: manual merge of the bpf-next tree with the perf tree

From: Stephen Rothwell
Date: Wed Dec 14 2022 - 16:44:13 EST


Hi all,

On Mon, 14 Nov 2022 12:16:06 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> On Fri, 11 Nov 2022 10:40:09 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Today's linux-next merge of the bpf-next tree got a conflict in:
> >
> > tools/perf/util/stat.c
> >
> > between commit:
> >
> > 8b76a3188b85 ("perf stat: Remove unused perf_counts.aggr field")
> >
> > from the perf tree and commit:
> >
> > c302378bc157 ("libbpf: Hashmap interface update to allow both long and void* keys/values")
> >
> > from the bpf-next tree.
> >
> > I fixed it up (see below) and can carry the fix as necessary. This
> > is now fixed as far as linux-next is concerned, but any non trivial
> > conflicts should be mentioned to your upstream maintainer when your tree
> > is submitted for merging. You may also want to consider cooperating
> > with the maintainer of the conflicting tree to minimise any particularly
> > complex conflicts.
> >
> > --
> > Cheers,
> > Stephen Rothwell
> >
> > diff --cc tools/perf/util/stat.c
> > index 3a432a949d46,c0656f85bfa5..000000000000
> > --- a/tools/perf/util/stat.c
> > +++ b/tools/perf/util/stat.c
> > @@@ -318,7 -258,27 +318,7 @@@ void evlist__copy_prev_raw_counts(struc
> > evsel__copy_prev_raw_counts(evsel);
> > }
> >
> > - static size_t pkg_id_hash(const void *__key, void *ctx __maybe_unused)
> > -void evlist__save_aggr_prev_raw_counts(struct evlist *evlist)
> > -{
> > - struct evsel *evsel;
> > -
> > - /*
> > - * To collect the overall statistics for interval mode,
> > - * we copy the counts from evsel->prev_raw_counts to
> > - * evsel->counts. The perf_stat_process_counter creates
> > - * aggr values from per cpu values, but the per cpu values
> > - * are 0 for AGGR_GLOBAL. So we use a trick that saves the
> > - * previous aggr value to the first member of perf_counts,
> > - * then aggr calculation in process_counter_values can work
> > - * correctly.
> > - */
> > - evlist__for_each_entry(evlist, evsel) {
> > - *perf_counts(evsel->prev_raw_counts, 0, 0) =
> > - evsel->prev_raw_counts->aggr;
> > - }
> > -}
> > -
> > + static size_t pkg_id_hash(long __key, void *ctx __maybe_unused)
> > {
> > uint64_t *key = (uint64_t *) __key;
> >
>
> This is now a conflict between perf tree and the net-next tree.

This is now a conflict between the perf tree and Linus' tree.

--
Cheers,
Stephen Rothwell

Attachment: pgpQNM9jzGezO.pgp
Description: OpenPGP digital signature