taskSavannah Administration - Tasks: task #9952, Submission of axis_profile

 
 

task #9952: Submission of axis_profile

Submitter:  Jesper Nilsson <antijn>
Submitted:  Mon 07 Dec 2009 02:07:43 PM UTC
   
 
Should Start On:  Mon 07 Dec 2009 12:00:00 AM UTC Should be Finished on:  Thu 17 Dec 2009 12:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Done Privacy:  Public
Assigned to:  nicalvaro Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 11 Dec 2009 11:17:47 AM UTC, comment #3: 

Hi,

Thanks for the explanation. I have approved your project.  You will receive an automated e-mail containing detailed information about the approval.

Regards.

-Deleted Account- <nicalvaro>
Fri 11 Dec 2009 10:52:48 AM UTC, comment #2: 

Thanks, I'll try to unmuddle the waters.

For the CRIS architecture of the Linux kernel there is a kernel-config (present in mainline from Linus) that will turn on the collection of the required information. This piece of code is GPLv2 just as the rest of the kernel.

The tool itself is currently used on a host machine, as opposed to the target machine (which is the CRIS architecture embedded system) that runs the specially configured Linux kernel.

This way, the tool can be used on any Unix-like system to collect information from a Linux kernel (currently restricted to the CRIS targets) that has been configured correctly.

I will change the order of the Copyright and copying permissions statement.

Jesper Nilsson <antijn>
Thu 10 Dec 2009 09:14:23 PM UTC, comment #1: 

Before I approve your project, I would like to verify my understanding of how this project works, because I found that the project description was a little unclear.

The description says that this project is to work with a specially modified version of the Linux kernel. What exactly is this related to? Is there some piece of code that is not available under a free software license that is required?

The below I will not hold you back on, especially if you understand the copyright notice issue and how to fix it.

"The utility should be possible run on any operating system with these tools installed." Í am curious what exactly does this mean. How could a utility that depends on the Linux kernel run okay on BSD or Windows? Are we not referring to a running and compiled version of the Linux kernel?

I think you should have the copyright notice before the copying permissions statement.

-Deleted Account- <nicalvaro>
Mon 07 Dec 2009 02:07:43 PM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.


Registration Administration


While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):



Registration Details


  • Name: axis_profile
  • System Name:  axis-profile
  • Type: non-GNU software & documentation
  • License: GNU General Public License v2 or later





Description:

Simple utility that collects current program counter data from a specially modified Linux kernel at a set rate and compares this to all debug symbols in the kernel and optionally any user space programs or libraries.

Currently, the kernel modifications (SYSTEM_PROFILER=y) exist only for the Axis Communications CRIS ports of Linux in the mainline version  of the Linux kernel.

Written in C, but uses some external programs via system(3) (expect, wget and one of objdump, nm, readelf).

The utility should be possible run on any operating system with these tools installed.

We've found no simlilar program available, most Linux kernel architectures have support for profiling via other means, and userspace applications uses toolchain support for profiling (gprof) which is a more intrusive solution (toolchain support needed, profiled code runs slower)

Advantages of doing it this way is the minor changes needed in the kernel, the light weight nature of the profiling (it doesn't cost much to copy a PC to a circular memory buffer).

It can also give profiling info for all levels of the system at the same time (kernel, modules, libraries, and userspace programs)

The downside is that the profiling information is not exact, but represents an average.
Some code, which is triggered by the timer interrupt used for polling the PC will never be active when the polling occurs, some interrupts may have higher priority.
Selfmodifying code or any other code that does not have any debug symbols (such as library trampolines) will not be attributed correctly either.


Other Software Required:

External dependencies:

Linux kernel + GPL + http://www.kernel.org
expect + free + http://expect.nist.gov
wget + GPL + http://www.gnu.org/software/wget/
binutils + GPL + http://www.gnu.org/software/binutils/


Tarball URL:

http://www.jni.nu/~jesper/axis_profile-3.0.tar.gz


Jesper Nilsson <antijn>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nicalvaro (Posted a comment)
  • -email is unavailable- added by antijn (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-12-11 nicalvaro StatusNone Done
        Assigned toNone nicalvaro
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code