[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180208191910.6bfdc921@gandalf.local.home>
Date: Thu, 8 Feb 2018 19:19:10 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Namhyung Kim <namhyung@...nel.org>
Cc: linux-kernel@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
Tom Zanussi <tom.zanussi@...ux.intel.com>,
linux-rt-users@...r.kernel.org, linux-trace-users@...r.kernel.org,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Clark Williams <williams@...hat.com>,
Jiri Olsa <jolsa@...hat.com>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Juri Lelli <juri.lelli@...hat.com>,
Jonathan Corbet <corbet@....net>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
kernel-team@....com
Subject: Re: [PATCH 09/18] tracing: Add indexing of arguments for function
based events
On Fri, 9 Feb 2018 08:56:15 +0900
Namhyung Kim <namhyung@...nel.org> wrote:
> On Thu, Feb 08, 2018 at 10:43:43AM -0500, Steven Rostedt wrote:
> > On Thu, 8 Feb 2018 19:59:24 +0900
> > Namhyung Kim <namhyung@...nel.org> wrote:
> >
> > > > @@ -347,6 +361,8 @@ static long long get_arg(struct func_arg *arg, unsigned long val)
> > > > char buf[8];
> > > > int ret;
> > > >
> > > > + val += arg->index;
> > > > +
> > > > if (!arg->indirect)
> > > > return val;
> > >
> > > So this also works without the indirect, and just add the immediate to
> > > the value.
> >
> > Not sure what you are asking here. The immediate adds to the current
> > value, where as the indirect will then look what's at that location.
>
> I expected that the immediate offset is only meaningful with the
> indirect (dereference) as the doc says just about it. So I asked it
> was intentional or not.
>
Yes it is intentional, but rather useless without an indirect. I mean,
you could just add to the value if you want :-)
The reason it doesn't need the indirect is because there's some types
(arrays and strings) that don't need the indirect. For example, with
the net_device with the perm_addr at 558 bytes away:
echo 'ip_rcv(NULL, x8[6] perm_addr+558)' > function_events
produces:
<idle>-0 [003] ..s3 1809.074329: __netif_receive_skb_core->ip_rcv(perm_addr=b4,b5,2f,ce,18,65)
-- Steve
Powered by blists - more mailing lists