[LITMUS^RT] Kernelshark visualizer

Jonathan Herman hermanjl at cs.unc.edu
Sat Mar 31 21:57:50 CEST 2012


>
> I've modified the kernelshark visualizer to draw sched_trace events. It is
not complete nor super clean, but the work could be useful to people even
in its unfinished state. It is not properly documented and I make no
guarantees about anything. I am not currently advocating merging any of the
things I do for this.

> Located at: ssh://rtsrv.cs.unc.edu/home/litmus/trace-cmd.git

>  Build with: make gui

> Requires kernel patch: wip-kshark

> The kernel patch is required because you must write out litmus_clock() for
each kernel event. Also, it adds an argument to sched_trace_task_block to
display a lock id in kernelshark. My patch sequentially assigns lock ids to
every litmus_lock as they are created in the system for this reason.

> CPU plots:

> * Displayed by default

> * Solid colored when a task is running

> * Displays task PID, colors based on PID

> * Thin vertical black lines mark areas NON REAL-TIME tasks are running

>  Task plots:

> * Displayed in plots->Real-Time Tasks

> * Can show all task with plots->Show All Real-Time Tasks

> * Thin horizontal black lines mark blocking. If a lock id is specified by
sched_trace that isn't 0, it will be displayed above the line

>  * Up and down triangles mark releases and deadlines

> * Thick vertical black line represents completion

> System events are displayed as lines. Any event which is _not_ drawn in a
plot is displayed. For example, the CPU plot will display a line whenever a
task is released on it, but the task plot will not because it will draw a
pretty release triangle at this time.

> Mouse hovering will attempt (its not guaranteed to succeed) to display the
currently running task and job number. Hovering over anything with a line
(a system event, a task completion / release / deadline), and you will get
a popup with the event parameters.

> http://i.imgur.com/nZxk6.png : screenshot of locks

>  http://i.imgur.com/MJmVz.png: screenshot of tasks executing (wierdly)

>  See Andreas earlier email for instructions for using kernelshark to
visualize traces.

-- 
Jonathan Herman
Department of Computer Science at UNC Chapel Hill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20120331/1f93b048/attachment.html>


More information about the litmus-dev mailing list