public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Galbraith <efault@gmx.de>
To: Miles Bader <miles@gnu.org>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>,
	linux-kernel@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: tools/perf: "perf record" restricted to root in latest kernel?
Date: Thu, 07 Jan 2010 05:48:43 +0100	[thread overview]
Message-ID: <1262839723.6303.5.camel@marge.simson.net> (raw)
In-Reply-To: <buovdfeocht.fsf@dhlpc061.dev.necel.com>

On Thu, 2010-01-07 at 11:49 +0900, Miles Bader wrote:

> Perhaps the newer version of perf works better with newer kernels

Yup.  Bisects back to 60ab271617cec607380099f3ed8e84916e48323b.  If
running latest kernel, normal user can record fine.  Running 31 or 32
kernel with latest perf though, I see the same permission error.  Not
immediately obvious to me why reverting this commit does indeed fix it. 

commit 60ab271617cec607380099f3ed8e84916e48323b
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date:   Wed Dec 16 17:55:56 2009 +0100

    perf record: Use per-task-per-cpu events for inherited events
    
    Create events with a pid and cpu contraint for inherited events
    so that we get a stream per cpu, instead of all cpus contending
    on a single stream.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: fweisbec@gmail.com
    Cc: Paul Mackerras <paulus@samba.org>
    LKML-Reference: <20091216165904.987643843@chello.nl>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 9b7c6d8..63136d0 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -278,7 +278,7 @@ static void create_counter(int counter, int cpu, pid_t pid)
 
 	attr->mmap		= track;
 	attr->comm		= track;
-	attr->inherit		= (cpu < 0) && inherit;
+	attr->inherit		= inherit;
 	attr->disabled		= 1;
 
 try_again:
@@ -537,7 +537,7 @@ static int __cmd_record(int argc __used, const char **argv)
 	}
 
 
-	if (!system_wide || profile_cpu != -1) {
+	if ((!system_wide && !inherit) || profile_cpu != -1) {
 		open_counters(profile_cpu, target_pid);
 	} else {
 		for (i = 0; i < nr_cpus; i++)



  reply	other threads:[~2010-01-07  4:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-06  5:32 tools/perf: "perf record" restricted to root in latest kernel? Miles Bader
2010-01-06 20:59 ` Arnaldo Carvalho de Melo
2010-01-07  2:49   ` Miles Bader
2010-01-07  4:48     ` Mike Galbraith [this message]
2010-01-07  5:05       ` Mike Galbraith
2010-01-07  8:29       ` Peter Zijlstra

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=1262839723.6303.5.camel@marge.simson.net \
    --to=efault@gmx.de \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miles@gnu.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