This is the mail archive of the systemtap@sources.redhat.com mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: architecture paper draft


Hi -


wcohen wrote:

> Clearer to label section "3.1 Input" as "SystemTap Probe Language"

OKish.

> If indirection is not allow then, then how does SystemTap probe data
> structures in the kernel that use pointers or arguments that are
> passed in to functions as pointers 

Yes, this issue relates to how full C/DWARF types may need to 
make an appearance in the input language.  My hope is to keep
casual type casting, pointer chasing, struct types out of the
basic areas of the language.  I am unfond of the dpcc style
stringification of raw target expressions (probe_expr), but
haven't come up with an elegant alternative.  Anyone?

> (assuming using jprobes).

jprobes does not actually enter into it.  Derived from DWARF data,
a kprobes probe can use pointer parameters just as well; likewise
without DWARF if referring to exported globals.


> The language seems verbose in placing the probe. For example:
> break kernel.function("sys_write")
> The equivalent for DTrace would be
> fbt::sys_write:entry
> [...]

I was trying to minimize unfamiliar syntax.  Names like "sys_write"
seem to me less like keywords and more like values, and therefore
more appropriately quoted.  Once we get the provider concepts more
clearly defined, so that we can have script fragments *define* new
synthetic breakpoint locations, the syntax may shake itself out.


> Might want to use some a keyword besides "break" to indicate placement
> of probe. C already uses that keyword.  Are switch-case statements not
> going to be language?

True, but "break" is not used in that top-level context, so does not
interfere with the switch-related use of the keyword.  (By the way,
awk does not have a switch statement, but breaking out of loops is
still needed.)


- FChE

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]