Re: [RFC 00/14] perf pollfd v3

From: Arnaldo Carvalho de Melo
Date: Tue Sep 23 2014 - 08:46:53 EST


Em Tue, Sep 23, 2014 at 11:26:45AM +0200, Jiri Olsa escreveu:
> On Mon, Sep 22, 2014 at 06:10:27PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Sep 22, 2014 at 04:51:33PM +0200, Jiri Olsa escreveu:
> > > On Mon, Sep 22, 2014 at 11:49:49AM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Em Mon, Sep 22, 2014 at 03:35:26PM +0200, Jiri Olsa escreveu:
> > > > > On Thu, Sep 18, 2014 at 01:04:55PM -0300, Arnaldo Carvalho de Melo wrote:
> > > > > > Em Thu, Sep 11, 2014 at 06:36:38PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > > > > https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/log/?h=perf/fdarray.v4
> >
> > > > > > Its on top of my last perf/core branch, i.e. with builtin-record.c using
> > > > > > perf_evlist__mmap_consume() and it and builtin-trace.c doing one last
> > > > > > mmap_read loop to consume what is left after all fds for a mmap are
> > > > > > closed.
> >
> > > > > > I'll wait a bit before reposting, probably Jiri will not be able to
> > > > > > comment this week, but I would like to at least post the URL for this
> > > > > > latest v4 kit.
> >
> > > > > > Adrian, if you could take a look at it, would be really great :-)
> >
> > > > > I checked the branch.. the last patch brakes the functionality
> > > > > of perf record for me
> >
> > > > Breaks in what sense?
> >
> > > perf record -p pid
> >
> > > and killing the pid won't finish perf record
> >
> > Should be ok now, after making sure record uses
> > perf_evlist__mmap_consume(), which does what you did in your proposed
> > fix, tried both killing it and letting it exit normally, i.e. a 'sleep 5s'
> > target.
> >
> > Pushed
> > https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/log/?h=perf/fdarray.v6
> > after moving the changesets for trace and record to be done last,
> > waiting for all fds to be POLLHUP'ed and doing one last draining
> > mmap_read loop over the mmaps.
>
> One more thing is I noticed the test 34 is segfaulting, because
> perf_evlist__munmap_filtered assumes priv pointer setup, which
> is not done in the test.

Yeah, forgot to update it wrt mmap refcounting.

But this brought to my attention the difficulty in debugging perf test
entries these days, because we do a fork + exec there, I tried using gdb
and I must be missing something, because I couldn't add a breakpoint
inside the tests :-\

I'll try with 'perf probe' instead of with gdb, probably will be a good
idea to try eating our own dog food, and overal, for just inserting some
printfs, better than using a full-blown debugger like gdb.

- Arnaldo

> otherwise it looks gut

Danke!

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/