public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* Weird Probe points on PPC
@ 2009-09-29 14:14 Breno Leitao
  2009-09-29 14:17 ` Breno Leitao
  0 siblings, 1 reply; 5+ messages in thread
From: Breno Leitao @ 2009-09-29 14:14 UTC (permalink / raw)
  To: systemtap

Hi Guys, 

I found something that I can't explain in SystemTap.
When probing module("jsm").function("*) it is probing more
function that those inside the jsm module (ie, out_8, in_8, writeb, etc)

At the same time, if I probe module("jsm").function("*").return
it works properly. Did anyone see anything like that ?


kernel: 2.6.31-rc8-ppc64
stap version: version 0.9.9/0.142.90 commit release-0.9.9-319-ge08217d + changes


----- jsm.stp -----
probe module("jsm").function("*"){
	printf("-> %s\n",  probefunc())
}


probe module("jsm").function("*").return {
	printf("<- %s\n",  probefunc())
}


---- output -----

-> jsm_tty_open
-> neo_flush_uart_write
-> writeb
-> out_8
-> eeh_readb
-> readb
-> in_8
<- neo_flush_uart_write
-> neo_flush_uart_read
-> writeb
-> out_8
-> eeh_readb
-> readb
-> in_8
<- neo_flush_uart_read
-> neo_uart_init
-> writeb
-> out_8
-> writeb
-> out_8
-> writeb
-> out_8
-> eeh_readb
-> readb
-> in_8
-> writeb
-> out_8
-> eeh_readb
-> readb
-> in_8
-> eeh_readb
-> readb
-> in_8
-> writeb
-> out_8
<- neo_uart_init
-> neo_param
-> eeh_readb
-> readb
-> in_8
-> eeh_readb
-> readb
-> in_8
-> writeb
-> out_8
-> writeb
-> out_8
-> writeb
-> out_8
-> writeb
-> out_8
-> writeb
-> out_8
-> neo_set_new_start_stop_chars
-> writeb
-> out_8
-> writeb
-> out_8
-> writeb
-> out_8
-> writeb
-> out_8

Thanks, 
Breno

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Weird Probe points on PPC
  2009-09-29 14:14 Weird Probe points on PPC Breno Leitao
@ 2009-09-29 14:17 ` Breno Leitao
  2009-09-29 14:24   ` Eugeniy Meshcheryakov
  0 siblings, 1 reply; 5+ messages in thread
From: Breno Leitao @ 2009-09-29 14:17 UTC (permalink / raw)
  To: systemtap

Breno Leitao wrote:
> Hi Guys, 
> 
> I found something that I can't explain in SystemTap.
> When probing module("jsm").function("*) it is probing more
> function that those inside the jsm module (ie, out_8, in_8, writeb, etc)
I just found that if I add .call, then it works properly. 
So, what is the difference between module("").function("*") and module("").function("*").call ?

Thanks

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Weird Probe points on PPC
  2009-09-29 14:17 ` Breno Leitao
@ 2009-09-29 14:24   ` Eugeniy Meshcheryakov
  2009-09-29 14:28     ` Breno Leitao
  0 siblings, 1 reply; 5+ messages in thread
From: Eugeniy Meshcheryakov @ 2009-09-29 14:24 UTC (permalink / raw)
  To: Breno Leitao; +Cc: systemtap

[-- Attachment #1: Type: text/plain, Size: 521 bytes --]

29 вересня 2009 о 11:17 -0300 Breno Leitao написав(-ла):
> Breno Leitao wrote:
> > Hi Guys, 
> > 
> > I found something that I can't explain in SystemTap.
> > When probing module("jsm").function("*) it is probing more
> > function that those inside the jsm module (ie, out_8, in_8, writeb, etc)
> I just found that if I add .call, then it works properly. 
> So, what is the difference between module("").function("*") and module("").function("*").call ?
First one probes also inline functions?

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Weird Probe points on PPC
  2009-09-29 14:24   ` Eugeniy Meshcheryakov
@ 2009-09-29 14:28     ` Breno Leitao
  2009-09-29 14:35       ` Eugeniy Meshcheryakov
  0 siblings, 1 reply; 5+ messages in thread
From: Breno Leitao @ 2009-09-29 14:28 UTC (permalink / raw)
  To: Eugeniy Meshcheryakov; +Cc: systemtap

Eugeniy Meshcheryakov wrote:
>> I just found that if I add .call, then it works properly. 
>> So, what is the difference between module("").function("*") and module("").function("*").call ?
> First one probes also inline functions?
Well, in_8() for example is an inline fuction, but it's not related to jsm driver at all. 
It's part of the arch/powerpc/boot/io.h, and it is defined as follow: 

static inline int in_8(const volatile unsigned char *addr)

So, If I understood correctly, those inline function becomes part of the module, and then
the probe considers them ?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Weird Probe points on PPC
  2009-09-29 14:28     ` Breno Leitao
@ 2009-09-29 14:35       ` Eugeniy Meshcheryakov
  0 siblings, 0 replies; 5+ messages in thread
From: Eugeniy Meshcheryakov @ 2009-09-29 14:35 UTC (permalink / raw)
  To: Breno Leitao; +Cc: systemtap

[-- Attachment #1: Type: text/plain, Size: 907 bytes --]

29 вересня 2009 о 11:28 -0300 Breno Leitao написав(-ла):
> Eugeniy Meshcheryakov wrote:
> >> I just found that if I add .call, then it works properly. 
> >> So, what is the difference between module("").function("*") and module("").function("*").call ?
> > First one probes also inline functions?
> Well, in_8() for example is an inline fuction, but it's not related to jsm driver at all. 
> It's part of the arch/powerpc/boot/io.h, and it is defined as follow: 
> 
> static inline int in_8(const volatile unsigned char *addr)
> 
> So, If I understood correctly, those inline function becomes part of the module, and then
> the probe considers them ?
> 
Inline functions are inlined in places were they are called, so any
module that uses them contains one or more copies of such functions. It does
not matter where they are defined (but you may try function@file syntax). 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-09-29 14:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-29 14:14 Weird Probe points on PPC Breno Leitao
2009-09-29 14:17 ` Breno Leitao
2009-09-29 14:24   ` Eugeniy Meshcheryakov
2009-09-29 14:28     ` Breno Leitao
2009-09-29 14:35       ` Eugeniy Meshcheryakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).