cvs commit: src/tools/sched schedgraph.py
Jeff Roberson
jeff at FreeBSD.org
Wed Jan 24 21:19:56 UTC 2007
jeff 2007-01-24 21:19:56 UTC
FreeBSD src repository
Modified files:
tools/sched schedgraph.py
Log:
- Add a horrible bit of code to detect tsc differences between processors.
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.
Revision Changes Path
1.11 +112 -28 src/tools/sched/schedgraph.py
More information about the cvs-src
mailing list