Re: [PATCH 09/18] tracing: Add indexing of arguments for function based events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 9 Feb 2018 08:56:15 +0900
Namhyung Kim <namhyung@xxxxxxxxxx> 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@xxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-trace-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux