linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: David Ahern <dsahern@gmail.com>
Cc: Tim Blechmann <tim@klingt.org>, linux-kernel@vger.kernel.org
Subject: Re: [2.6.39-rc2] perf top fails to mmap - bisected to 70db7533
Date: Wed, 6 Apr 2011 21:13:11 -0300	[thread overview]
Message-ID: <20110407001311.GA5780@ghostprotocols.net> (raw)
In-Reply-To: <4D9CECF5.3090309@gmail.com>

Em Wed, Apr 06, 2011 at 04:45:09PM -0600, David Ahern escreveu:
> On 04/06/11 16:15, David Ahern wrote:
> > On 04/06/11 14:48, Tim Blechmann wrote:
> >>>>> this happens when running perf as the same process as the process and
> >>>>> when running perf as root.
> >>>
> >>> yep, works for me as well:
> >>>
> >>> [acme@emilia ~]$ cat vsyscall.c
> >>
> >> after including unistd.h, this compiles and works fine. however i cannot profile 
> >> any multithreaded program. does this work for you?

> > That does fail:
> > # ps -C rsyslogd -L
> >   PID   LWP TTY          TIME CMD
> >   795   795 ?        00:00:00 rsyslogd
> >   795   797 ?        00:00:00 rsyslogd
> >   795   798 ?        00:00:00 rsyslogd

> > # /tmp/build-perf/perf top -p 795
> > Failed to mmap with 22 (Invalid argument)

> > strace shows it failing at:
> > ioctl(4, PERF_EVENT_IOC_SET_OUTPUT, 0x3) = -1 EINVAL (Invalid argument)

> > Changing to use thread only works:
> > # /tmp/build-perf/perf top -t 795
> 
> git bisect points to:
> 
> 70db7533caef02350ec8d6852e589491bca3a951 is the first bad commit
> commit 70db7533caef02350ec8d6852e589491bca3a951
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date:   Wed Jan 12 22:39:13 2011 -0200
> 
> perf evlist: Move the mmap array from perf_evsel
> 
> Adopting the new model used in 'perf record', where we don't have a map
> per thread per cpu, instead we have an mmap per cpu, established on the
> first fd for that cpu and ask the kernel using the
> PERF_EVENT_IOC_SET_OUTPUT ioctl to send events for the other fds on that
> cpu for the one with the mmap.
> 
> The methods moved from perf_evsel to perf_evlist, but for easing review
> they were modified in place, in evsel.c, the next patch will move the
> migrated methods to evlist.c.
> 
> With this 'perf top' now uses the same mmap model used by 'perf record'
> and the next patches will make 'perf record' use these new routines,
> establishing a common codebase for both tools.
> 
> ----------
> 
> Coincidentally, perf-record is also broken. git bisect points to:
> 
> dd7927f4f8ee75b032ff15aeef4bda49719a443a is the first bad commit
> commit dd7927f4f8ee75b032ff15aeef4bda49719a443a
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date:   Wed Jan 12 14:28:51 2011 -0200
> 
> perf record: Use perf_evsel__open
> 
> Now its time to factor out the mmap handling bits into the perf_evsel
> class.

I'll work on that tomorrow, if nobody fixes this till then :-)

- Arnaldo

  reply	other threads:[~2011-04-07  0:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-06 10:51 [2.6.39-rc2] perf top fails to mmap Tim Blechmann
2011-04-06 15:20 ` David Ahern
2011-04-06 17:52   ` Arnaldo Carvalho de Melo
2011-04-06 20:48     ` Tim Blechmann
2011-04-06 22:15       ` David Ahern
2011-04-06 22:45         ` [2.6.39-rc2] perf top fails to mmap - bisected to 70db7533 David Ahern
2011-04-07  0:13           ` Arnaldo Carvalho de Melo [this message]
2011-04-22 16:37           ` David Ahern
2011-04-23 13:45             ` Lin Ming
     [not found]               ` <BANLkTikWpnnHAfO2n2rN6ExtQyrsVaiqEQ@mail.gmail.com>
2011-04-23 14:51                 ` Lin Ming
2011-04-24 11:47                   ` Tim Blechmann
2011-04-24 13:45                     ` David Ahern
2011-04-24 15:02                       ` Lin Ming

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=20110407001311.GA5780@ghostprotocols.net \
    --to=acme@ghostprotocols.net \
    --cc=dsahern@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tim@klingt.org \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).