savannah-hackers
[Top][All Lists]
Advanced

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

[Savannah-hackers] Re: submission of Fast Kernel Tracing - savannah.nong


From: Robert D. Russell
Subject: [Savannah-hackers] Re: submission of Fast Kernel Tracing - savannah.nongnu.org
Date: Sun, 9 May 2004 10:53:51 -0400 (EDT)

Hello:

I was wondering if any action has been taken on this submission --
it has been 3 weeks so far, and I have heard nothing, pro or con.

Thanks,
Bob Russell


On Sat, 17 Apr 2004 address@hidden wrote:

> A package was submitted to savannah.nongnu.org
> This mail was sent to address@hidden, address@hidden
> 
> 
> Bob Russell <address@hidden> described the package as follows:
> License: gpl
> Other License: 
> Package: Fast Kernel Tracing
> System name: fkt
> Type: non-GNU
> 
> Description:
> This project has developed a flexible, efficient software tool for
> accurate performance evaluation and tracing of code in the kernel
> and in loadable kernel modules of the Linux operating system on
> Intel Pentium processors, both uniprocessors and multiprocessors.
> We call the tool FKT (Fast Kernel Tracing).  It consists of a
> number of modifications and additions to the Linux kernel that
> collect and record data in real time, as well as some user-level
> programs to control the probing and to perform off-line analysis.
> The current code base is at the URL:
> http://perso.ens-lyon.fr/samuel.thibault/fkt-20040412.tgz
> 
> The method consists of placing special software "probe" macros at
> various locations in the kernel source code.  The source code must
> then be recompiled, and compilation of the probes is controlled by
> a configuration symbol (CONFIG_FKT).  Placement of probes is
> determined by the kernel programmer, and can be done manually or
> automatically via the "instrument_function" attribute provided by the GNU C 
> compiler.  Typically, one probe is placed at the entry to, and another probe 
> at the exit from, every kernel function of interest to the programmer.  By 
> default, probes are always placed at the entry to and exit from every system 
> call, trap, and interrupt, and at the process switch point in the kernel.
> 
> Each probe supplies a "mask" parameter with one or more bits set
> in it.  All probes having the same bit set in their keymask form
> a "probe-set", and a probe-set can be enabled or disabled by
> user-level programs through the use of some new system calls.
> When a probe is disabled, the only overhead it introduces is the cost of a 
> bitmask test and branch.  A probe can also be supplied with other parameters 
> of the programmer's choosing, which makes it a useful debugging tool, 
> especially valuable when developing new modules and/or additions to the 
> kernel.
> 
> Probes record data into kernel buffers that are written to a file
> set up at the beginning of an FKT run.  Recording is done using
> the Linux "sendpage()" mechanism, which avoids extra copying of
> the buffers.  Each probe records an unique identification code, a
> timestamp obtained from the hardware Time Stamp Counter, the
> number of the processor executing the code, and the additional
> parameters, if any.  The off-line analysis program, run after the
> file has been completely written, maps the identification code to
> text identifying the probe (typically the name of the function in
> which it was placed).  At the start of a run, the kernel symbol
> table, and the symbol tables of all loaded modules, are recorded
> in the file so that they are kept together with the data recorded
> by the probes.  The offline analysis can use these symbol tables
> to map the locations generated by the GCC "instrument_function"
> feature into symbolic names.
> 
> The current offline analysis offers a number of options to produce detailed 
> traces, function nesting traces, and exact accounting for every machine 
> cycle.  Future plans call for developing a general library that would allow 
> users to easily develop their own analysis programs, and a graphical 
> interface to the analysis output.
> 
> 
> 
> 
> Other Software Required:
> This project depends on the Linux kernel and the Intel x86 hardware.  It 
> should be possible to extend it to run on other hardware.
> 
> 
> Other Comments:
> 
> 
> 
> 
> 
> *In case you have to register your project again.
> 
> Please be aware that if your registration does not fulfill all the 
> requirements, the Savannah administrators may ask you to register your 
> project again.You can use the following url to do a new registration starting 
> with the values used in this registration process.
> Copy and paste AS ONE SINGLE URL the following content:
> ----RERegistration-URL-BEGIN-----
> http://savannah.nongnu.org/register/basicinfo.php?re_purpose=This%20project%20has%20developed%20a%20flexible%2C%20efficient%20software%20tool%20for%0D%0Aaccurate%20performance%20evaluation%20and%20tracing%20of%20code%20in%20the%20kernel%0D%0Aand%20in%20loadable%20kernel%20modules%20of%20the%20Linux%20operating%20system%20on%0D%0AIntel%20Pentium%20processors%2C%20both%20uniprocessors%20and%20multiprocessors.%0D%0AWe%20call%20the%20tool%20FKT%20%28Fast%20Kernel%20Tracing%29.%20%20It%20consists%20of%20a%0D%0Anumber%20of%20modifications%20and%20additions%20to%20the%20Linux%20kernel%20that%0D%0Acollect%20and%20record%20data%20in%20real%20time%2C%20as%20well%20as%20some%20user-level%0D%0Aprograms%20to%20control%20the%20probing%20and%20to%20perform%20off-line%20analysis.%0D%0AThe%20current%20code%20base%20is%20at%20the%20URL%3A%0D%0Ahttp%3A%2F%2Fperso.ens-lyon.fr%2Fsamuel.thibault%2Ffkt-20040412.tgz%0D%0A%0D%0AThe%20method%20consists%20of%20placing%20special%20software%20%
> C%22probe%5C%22%20macros%20at%0D%0Avarious%20locations%20in%20the%20kernel%20source%20code.%20%20The%20source%20code%20must%0D%0Athen%20be%20recompiled%2C%20and%20compilation%20of%20the%20probes%20is%20controlled%20by%0D%0Aa%20configuration%20symbol%20%28CONFIG_FKT%29.%20%20Placement%20of%20probes%20is%0D%0Adetermined%20by%20the%20kernel%20programmer%2C%20and%20can%20be%20done%20manually%20or%0D%0Aautomatically%20via%20the%20%5C%22instrument_function%5C%22%20attribute%20provided%20by%20the%20GNU%20C%20compiler.%20%20Typically%2C%20one%20probe%20is%20placed%20at%20the%20entry%20to%2C%20and%20another%20probe%20at%20the%20exit%20from%2C%20every%20kernel%20function%20of%20interest%20to%20the%20programmer.%20%20By%20default%2C%20probes%20are%20always%20placed%20at%20the%20entry%20to%20and%20exit%20from%20every%20system%20call%2C%20trap%2C%20and%20interrupt%2C%20and%20at%20the%20process%20switch%20point%20in%20the%20kernel.%0D%0A%0D%0AEach%20probe%20supplies%20a%20%5C%22m
> sk%5C%22%20parameter%20with%20one%20or%20more%20bits%20set%0D%0Ain%20it.%20%20All%20probes%20having%20the%20same%20bit%20set%20in%20their%20keymask%20form%0D%0Aa%20%5C%22probe-set%5C%22%2C%20and%20a%20probe-set%20can%20be%20enabled%20or%20disabled%20by%0D%0Auser-level%20programs%20through%20the%20use%20of%20some%20new%20system%20calls.%0D%0AWhen%20a%20probe%20is%20disabled%2C%20the%20only%20overhead%20it%20introduces%20is%20the%20cost%20of%20a%20bitmask%20test%20and%20branch.%20%20A%20probe%20can%20also%20be%20supplied%20with%20other%20parameters%20of%20the%20programmer%5C%27s%20choosing%2C%20which%20makes%20it%20a%20useful%20debugging%20tool%2C%20especially%20valuable%20when%20developing%20new%20modules%20and%2For%20additions%20to%20the%20kernel.%0D%0A%0D%0AProbes%20record%20data%20into%20kernel%20buffers%20that%20are%20written%20to%20a%20file%0D%0Aset%20up%20at%20the%20beginning%20of%20an%20FKT%20run.%20%20Recording%20is%20done%20using%0D%0Athe%20Linux%20%5C%22sen
> page%28%29%5C%22%20mechanism%2C%20which%20avoids%20extra%20copying%20of%0D%0Athe%20buffers.%20%20Each%20probe%20records%20an%20unique%20identification%20code%2C%20a%0D%0Atimestamp%20obtained%20from%20the%20hardware%20Time%20Stamp%20Counter%2C%20the%0D%0Anumber%20of%20the%20processor%20executing%20the%20code%2C%20and%20the%20additional%0D%0Aparameters%2C%20if%20any.%20%20The%20off-line%20analysis%20program%2C%20run%20after%20the%0D%0Afile%20has%20been%20completely%20written%2C%20maps%20the%20identification%20code%20to%0D%0Atext%20identifying%20the%20probe%20%28typically%20the%20name%20of%20the%20function%20in%0D%0Awhich%20it%20was%20placed%29.%20%20At%20the%20start%20of%20a%20run%2C%20the%20kernel%20symbol%0D%0Atable%2C%20and%20the%20symbol%20tables%20of%20all%20loaded%20modules%2C%20are%20recorded%0D%0Ain%20the%20file%20so%20that%20they%20are%20kept%20together%20with%20the%20data%20recorded%0D%0Aby%20the%20probes.%20%20The%20offline%20analysis%20can%20use%20these%20
> ymbol%20tables%0D%0Ato%20map%20the%20locations%20generated%20by%20the%20GCC%20%5C%22instrument_function%5C%22%0D%0Afeature%20into%20symbolic%20names.%0D%0A%0D%0AThe%20current%20offline%20analysis%20offers%20a%20number%20of%20options%20to%20produce%20detailed%20traces%2C%20function%20nesting%20traces%2C%20and%20exact%20accounting%20for%20every%20machine%20cycle.%20%20Future%20plans%20call%20for%20developing%20a%20general%20library%20that%20would%20allow%20users%20to%20easily%20develop%20their%20own%20analysis%20programs%2C%20and%20a%20graphical%20interface%20to%20the%20analysis%20output.%0D%0A%0D%0A%0D%0A&re_require_sw=This%20project%20depends%20on%20the%20Linux%20kernel%20and%20the%20Intel%20x86%20hardware.%20%20It%20should%20be%20possible%20to%20extend%20it%20to%20run%20on%20other%20hardware.%0D%0A&re_comments=&re_full_name=Fast%20Kernel%20Tracing&re_unix_name=fkt
> ----RERegistration-URL-END-------
> 
> 
> _______________________________________________
>   Message sent via/by Savannah
>   http://savannah.nongnu.org/
> 
> 
> 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]