On Wed, 13 Jul 2005, Vara Prasad wrote:
[..]
Looks like you have not looked at systemtap project although Tom pointed
about it to you in his previous postings. The URL for systemtap is
http://sourceware.org/systemtap/, i strongly suggest you to look at that
project.
I'm just fill this gap.
Sorry but I cant't find in this document even single word about assumption
about agregatre data possibly in short range from probe. But point 6.1
this document says:
"Kernel-to-user transport Data collected from systemtap in the kernel must
^^^^^^^^^^^^^^ ^^^^
somehow be transmitted to userspace. This transport must
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
have high performance and minimal performance impact on the monitored
system. One candidate is relayfs. Relayfs provides an efficient way to
move large blocks of data from the kernel to userspace. The data is sent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
in per-cpu beffers which a userspace program can save or display.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Drawbacks are that the data arrives in blocks and is separated into
per-cpu blocks, possibly requiring a post-processing step that stitches
the data into an integrated steam. Relayfs is included in some recent -mm
kernels. It can be built as a loadable module and is currently checked
into CVS under src/runtime/relayfs. The other candidate is netlink.
Netlink is included in the kernel. It allows a simple stream of data to be
sent using the familiar socket APIs. It is unlikely to be as fast as
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
relayfs. Relayfs typically makes use of netlink as a control channel. With
^^^^^^^
some simple extensions, the runtime can use netlink as the main transport
too. So we can currently select in the runtime between relayfs and
netlink, allowing us to support streams of data or blocks. And allowing us
to perform direct comparisons of efficiency. [..]"
So .. using relayfs is neccessary because all collected data "must
somehow be transmitted to userspace" and this why must be transfered huge
amout of data.
But if transering big amout of data will not be an issue seems netlink can
be used for transfer data (generaly agregated) from kernel probes (?).
But also "with some simple extensions, the runtime can use netlink as the
main transport too".
Even this document says "relayfs isn't neccessary fundament for
systemtap". So .. why try to push for merge relayfs *NOW* ?
Because KProbes do not have expressions and some base agregators like
couters isn't possibe to check NOW in real examples is realy realyfs is
neccessary (?) :)
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: [email protected]*
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|