All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pekka Enberg <penberg@iki.fi>
To: David Ahern <dsahern@gmail.com>,
	Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Hemant Kumar <hkshaw@linux.vnet.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Oleg Nesterov <oleg@redhat.com>,
	"hegdevasant@linux.vnet.ibm.com" <hegdevasant@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	"anton@redhat.com" <anton@redhat.com>,
	"systemtap@sourceware.org" <systemtap@sourceware.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	"aravinda@linux.vnet.ibm.com" <aravinda@linux.vnet.ibm.com>
Subject: Re: [PATCH v4 2/3] Support for perf to probe into SDT markers:
Date: Mon, 28 Oct 2013 20:45:23 +0200	[thread overview]
Message-ID: <526EB0C3.2080304@iki.fi> (raw)
In-Reply-To: <526E9808.4030607@gmail.com>

On 10/28/13 6:59 PM, David Ahern wrote:
 > I often use perf-list to lookup an exact event name, and I do not want
 > to see it taking many seconds to minutes to run (not everyone is
 > running on an SSD). I also run perf on many different OS versions with
 > an NFS home directory, and do not want to see a cache explosion (I
 > have buildid disabled for this reason).

I am talking about reasonable defaults - the 'default' part implies that
people can change the behavior.  So we absolutely should also have
something like this for power users such as yourself:

   perf config sdt.scan false

That said, the 'reasonable' part suggests that 'perf list' must not take
seconds or minutes (!) for every run.  I'd start with implementing a
naive scan and seeing where it takes us.  It's not like it's rocket
science to ignore network mounts or revert to a whitelist of paths if
necessary.

As for cache explosion, I don't see what the problem is.

If you build a cache of DSOs and executables that have SDT makers (with a
SHA1 hash), the cache size bound by SDT marker annotated files.  You
probably can then unconditionally scan the cached filenames for SDT
markers for 'perf list'. And once you see a SHA1 mismatch, you either
rescan automatically or explain to the user that:

   SDT marker cache needs to be updated. Please run 'perf list --scan'.

Transparently supporting SDT markers as events for 'perf trace -e' and
others is slightly more tricky because you probably don't want to scan
the files for every 'perf trace' invocation.  However, you can probably
get really far with a 1024-entry SDT marker cache that's separate from
the 'executables and DSOs with SDT markers' cache. So whenever the user
does something like

   perf trace -e libc:setjmp sleep 1

The 'libc:setjmp' ends up in the 1024-entry cache (or whatever makes
most sense) that points directly to SDT marker so we can hook into it
quickly.  Using simple LRU eviction policy, you end up pushing out the
uninteresting SDT markers and keeping the ones that are used all the
time.

                         Pekka


  reply	other threads:[~2013-10-28 18:45 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-23  5:04 [PATCH v4 0/3] perf support to SDT markers Hemant Kumar
2013-10-23  5:04 ` [PATCH v4 1/3] SDT markers listing by perf: Hemant Kumar
2013-10-23  5:05 ` [PATCH v4 2/3] Support for perf to probe into SDT markers: Hemant Kumar
2013-10-24  5:45   ` Masami Hiramatsu
2013-10-24 10:25     ` Hemant Kumar
2013-10-25 12:38   ` Pekka Enberg
2013-10-25 12:59     ` Srikar Dronamraju
2013-10-25 14:20       ` Pekka Enberg
2013-10-25 15:20         ` David Ahern
2013-10-28  8:48           ` Pekka Enberg
2013-10-28 16:59             ` David Ahern
2013-10-28 18:45               ` Pekka Enberg [this message]
2013-10-29  9:55                 ` Hemant Kumar
2013-10-29 14:05                   ` Pekka Enberg
2013-10-29 19:41                     ` Hemant Kumar
2013-10-30 10:22                 ` Masami Hiramatsu
2013-10-26  9:50       ` Ingo Molnar
2013-10-28  8:56         ` Pekka Enberg
2013-10-28 10:57         ` Masami Hiramatsu
2013-10-29  5:50         ` Namhyung Kim
2013-10-26 11:16     ` Frank Ch. Eigler
2013-10-28  8:40       ` Pekka Enberg
2013-10-28 10:34         ` Ingo Molnar
2013-10-30 10:05       ` Masami Hiramatsu
2013-10-30 11:51         ` Pekka Enberg
2013-10-31  9:59           ` Ingo Molnar
2013-10-31 10:54           ` Mark Wielaard
2013-10-31 10:57             ` Ingo Molnar
2013-10-31 13:12               ` Peter Zijlstra
2013-10-31 13:23               ` Mark Wielaard
2013-10-30 13:30         ` Hemant Kumar
2013-10-28 11:23     ` Masami Hiramatsu
2013-10-28 12:42       ` Pekka Enberg
2013-10-28 14:11         ` Srikar Dronamraju
2013-10-28 14:21           ` Pekka Enberg
2013-10-28 17:31             ` Srikar Dronamraju
2013-10-28 17:48               ` Pekka Enberg
2013-10-29  3:19                 ` Masami Hiramatsu
2013-10-29  5:31                   ` Namhyung Kim
2013-10-29 14:51                   ` Mark Wielaard
2013-10-29 19:54                     ` Pekka Enberg
2013-10-29  2:51               ` Masami Hiramatsu
2013-10-23  5:05 ` [PATCH v4 3/3] Documentation regarding perf/sdt Hemant Kumar

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=526EB0C3.2080304@iki.fi \
    --to=penberg@iki.fi \
    --cc=anton@redhat.com \
    --cc=aravinda@linux.vnet.ibm.com \
    --cc=dsahern@gmail.com \
    --cc=hegdevasant@linux.vnet.ibm.com \
    --cc=hkshaw@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=systemtap@sourceware.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.