Em Tue, Nov 30, 2010 at 12:50:14PM +0100, Franck Bui-Huu escreveu: > From: Franck Bui-Huu <fbui...@gmail.com> > > This primarily fixes perf-report, which didn't report the correct type > of event if perf-record was called to record one event different from > 'cycles': > > $ perf record -e instructions true > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.007 MB perf.data (~295 samples) ] > > $ perf report | head -n1 > # Events: 7 cycles > > Signed-off-by: Franck Bui-Huu <fbui...@gmail.com> > --- > tools/perf/util/header.c | 11 ++++++++--- > 1 files changed, 8 insertions(+), 3 deletions(-)
Please CC lkml when submitting patches. Thanks a lot, applied to my perf/urgent branch. - Arnaldo > diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c > index d7e67b1..64a85ba 100644 > --- a/tools/perf/util/header.c > +++ b/tools/perf/util/header.c > @@ -946,11 +946,16 @@ perf_header__find_attr(u64 id, struct perf_header > *header) > > /* > * We set id to -1 if the data file doesn't contain sample > - * ids. Check for this and avoid walking through the entire > - * list of ids which may be large. > + * ids. This can happen when the data file contains one type > + * of event and in that case, the header can still store the > + * event attribute information. Check for this and avoid > + * walking through the entire list of ids which may be large. > */ > - if (id == -1ULL) > + if (id == -1ULL) { > + if (header->attrs > 0) > + return &header->attr[0]->attr; > return NULL; > + } > > for (i = 0; i < header->attrs; i++) { > struct perf_header_attr *attr = header->attr[i]; > -- > 1.7.3.2 > -- > To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html