summaryrefslogtreecommitdiffstats
path: root/tools/sched
Commit message (Collapse)AuthorAgeFilesLines
* Add some notes clarifying usage and a couple of known bugskris2007-04-221-1/+15
|
* - Add a horrible bit of code to detect tsc differences between processors.jeff2007-01-241-28/+112
| | | | | | | | | | | | | | | | | | | This only works if there is no significant drift and all processors are running at the same frequency. Fortunately, schedgraph traces on MP machines tend to cover less than a second so drift shouldn't be an issue. - KTRFile::synchstamp() iterates once over the whole list to determine the lowest tsc value and syncs adjusts all other values to match. We assume that the first tick recorded on all cpus happened at the same instant to start with. - KTRFile::monostamp() iterates again over the whole file and checks for a cpu agnostic monotonically increasing clock. If the time ever goes backwards the cpu responsible is adjusted further to fit. This will make the possible incorrect delta between cpus as small as the shortest time between two events. This time can be fairly large due to sched_lock essentially protecting all events. - KTRFile::checkstamp() now returns an adjusted timestamp. - StateEvent::draw() detects states that occur out of order in time and draws them as 0 pixels after printing a warning.
* - Print clock information so we know if something is not reported correctlyjeff2007-01-231-7/+7
| | | | | | | | | | from the tsc. - Set skipnext = 1 for yielding and preempted events so we don't show the event that adds us back to the run queue. It used to be 2 so we would skip the ksegrp run queue addition and the system run queue addition but the ksegrp run queue has gone away. - Don't display down to nanosecond resolution for scheduling events right now. This can sometimes cause a division by zero.
* - Add colors for up to 8 cpus.jeff2007-01-061-0/+8
|
* Teach schedgraph how to parse KTR_CRITICAL records. critical_enter/exitscottl2005-11-211-0/+18
| | | | | events are now plotted as a counting graph, similar to CPU load, so that their duration and critnest values can be visualized.
* Fix two minor typos that caused schedgraph to exit with an exceptionrwatson2005-11-061-2/+2
| | | | when running on traces referencing >2 CPUs.
* - ktrace(1) has nothing to do with schedgraph. Remove that from thejeff2005-03-141-1/+0
| | | | instructions.
* - Add some notes on what is required to run schedgraph.py successfully.arr2004-12-281-0/+11
| | | | | | This was pulled from Jeff Roberson's email to current@ "the other day." Approved by: jeff@
* - For preemption and yield events, we want to skip the next two state eventsjeff2004-12-261-3/+4
| | | | | | | as they are the setrunqueue() and sched_add() calls. Since they happen immediately before the thread is placed on a run queue they would normally dwarf the more informative preemption or yield event and it is implicitly understood that a thread is back on the run queue as part of these events.
* - Call self.checkstamp() in the cpu load parsing functions in case thejeff2004-12-261-0/+4
| | | | timestamp has wrapped.
* - The regexp for the load should have been (/d+), fix this so loads over 9jeff2004-12-261-2/+3
| | | | are properly represented.
* - Add 'schedgraph' a scheduler trace visualization tool written withjeff2004-12-261-0/+1209
python and tkinter. Schedgraph takes input from files produces by ktrdump -ct when KTR_SCHED is compiled into the kernel. The output represents the states of each thread with colored line segments as well as colored points for non-state scheduler events. Each line segment and point is clickable to obtain extra detail.
OpenPOWER on IntegriCloud