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



On 04/06/11 16:15, David Ahern wrote:
> 
> 
> On 04/06/11 14:48, Tim Blechmann wrote:
>>>> David
>>>>
>>>>> 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?
>>
>> tim
>>
> 
> 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.

  reply	other threads:[~2011-04-06 22:45 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         ` David Ahern [this message]
2011-04-07  0:13           ` [2.6.39-rc2] perf top fails to mmap - bisected to 70db7533 Arnaldo Carvalho de Melo
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=4D9CECF5.3090309@gmail.com \
    --to=dsahern@gmail.com \
    --cc=acme@ghostprotocols.net \
    --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).