[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120412140751.GM16257@infradead.org>
Date: Thu, 12 Apr 2012 11:07:51 -0300
From: Arnaldo Carvalho de Melo <acme@...radead.org>
To: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Cc: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ananth N Mavinakayanahalli <ananth@...ibm.com>,
Jim Keniston <jkenisto@...ux.vnet.ibm.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux-mm <linux-mm@...ck.org>, Oleg Nesterov <oleg@...hat.com>,
Andi Kleen <andi@...stfloor.org>,
Christoph Hellwig <hch@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>,
Anton Arapov <anton@...hat.com>
Subject: Re: Re: [PATCH] perf/probe: Provide perf interface for uprobes
Em Thu, Apr 12, 2012 at 12:27:47PM +0900, Masami Hiramatsu escreveu:
> > * Arnaldo Carvalho de Melo <acme@...radead.org> [2012-04-11 11:49:18]:
> > Yeah, if one needs to disambiguate, sure, use these keywords, but for
> > things like:
> >
> > $ perf probe /lib/libc.so.6 malloc
> >
> > I think it is easy to figure out it is userspace. I.e. some regex would
> > figure it out.
>
> That's interessting to me too. Maybe it is also useful syntax for
> module specifying too.
>
> e.g.
> perf probe -m kvm kvm_timer_fn
>
> can be
>
> perf probe kvm.ko kvm_timer_fn
>
> (.ko is required) or if unloaded
>
> perf probe /lib/modules/XXX/kernel/virt/kvm.ko kvm_timer_fn
It may not even be required, since we can check in /proc/modules
if "kvm" is there and as well if it has a function named "kvm_timer_fn".
Also probably there is no library or binary on the current
directory with such a name :-)
Likewise, if we do:
$ perf probe libc-2.12.so malloc
It should just figure out it is the /lib64/libc-2.12.so
Heck, even:
$ perf probe libc malloc
Makes it even easier to use.
Its just when one asks for something that has ambiguities that
the tool should ask the user to be a bit more precise to remove such
ambiguity.
After all...
[acme@...dy linux]$ locate libc-2.12.so
/home/acme/.debug/lib64/libc-2.12.so
/home/acme/.debug/lib64/libc-2.12.so/293f8b6f5e6cea240d1bb0b47ec269ee91f31673
/home/acme/.debug/lib64/libc-2.12.so/5a7fad9dfcbb67af098a258bc2a20137cc954424
/lib64/libc-2.12.so
/usr/lib/debug/lib64/libc-2.12.so.debug
[acme@...dy linux]$
Only /lib64/libc-2.12.so is on the ld library path :-)
And after people really start depending on this tool for day to
day use, they may do like me:
[root@...dy ~]# alias probe="perf probe"
[root@...dy ~]# probe -F | grep skb_queue
skb_queue_head
skb_queue_purge
skb_queue_tail
[root@...dy ~]#
Which gets it to the shortest possible form:
$ probe libc malloc
:-)
Git has this nice feature that is on the same line of making
things easier for the user:
[acme@...dy linux]$ git fack
git: 'fack' is not a git command. See 'git --help'.
Did you mean this?
fsck
[acme@...dy linux]$
Hell, yes, fsck is what I meant! :-)
- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists