Patch applied, thanks. On Fri, May 7, 2010 at 4:28 AM, Corey Ashford <cjash...@linux.vnet.ibm.com> wrote: > perf_get_group_nevents was returning the wrong number of events > when the group was the last in the list - it always returned 1 > instead of the true number. > > Also, when reading up event groups, only a "max size" (sz) was > being passed to the read() function, which resulted in getting > fewer bytes than requested and a resulting warning when groups with > fewer events follow groups with more events. > > Signed-off-by: Corey Ashford <cjash...@linux.vnet.ibm.com> > --- > perf_examples/perf_util.c | 2 +- > perf_examples/task.c | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/perf_examples/perf_util.c b/perf_examples/perf_util.c > index 9c99b15..b84f0e2 100644 > --- a/perf_examples/perf_util.c > +++ b/perf_examples/perf_util.c > @@ -161,7 +161,7 @@ perf_get_group_nevents(perf_event_desc_t *fds, int num, > int idx) > return i - leader; > } > } > - return 1; > + return i - leader; > } > > int > diff --git a/perf_examples/task.c b/perf_examples/task.c > index c66e3ed..75de973 100644 > --- a/perf_examples/task.c > +++ b/perf_examples/task.c > @@ -99,14 +99,14 @@ read_groups(perf_event_desc_t *fds, int num) > if (!values) > err(1, "cannot allocate memory for values\n"); > > - ret = read(fds[evt].fd, values, sz); > - if (ret != sz) { /* unsigned */ > + ret = read(fds[evt].fd, values, new_sz); > + if (ret != new_sz) { /* unsigned */ > if (ret == -1) > err(1, "cannot read values event %s", > fds[evt].name); > > /* likely pinned and could not be loaded */ > warnx("could not read event %d, tried to read %d > bytes, but got %d", > - evt, (int)sz, ret); > + evt, (int)new_sz, ret); > } > > /* > -- > 1.7.0.4 > >
------------------------------------------------------------------------------ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel