3d21f0f4 | 17-Jan-2009 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a new source configuration menu option that allows hiding and displaying sources. - Add functions to the main SchedGraph to facilitate source hiding. The source is simply moved off scre
- Add a new source configuration menu option that allows hiding and displaying sources. - Add functions to the main SchedGraph to facilitate source hiding. The source is simply moved off screen and all other sources are moved to compensate.
show more ...
|
0199a61d | 13-Jan-2009 |
John Baldwin <jhb@FreeBSD.org> |
Add support for two new event source types: - Callwheels traced via KTR_CALLOUT. Each CPU is assigned a callwheel source. The events on this source are the execution of individual callout routi
Add support for two new event source types: - Callwheels traced via KTR_CALLOUT. Each CPU is assigned a callwheel source. The events on this source are the execution of individual callout routines. Each routine shows up as a green rectangle while it is executed and the event details include the function pointer and argument. - Locks traced via KTR_LOCK. Currently, each lock name is assigned an event source (since the existing KTR_LOCK traces only include lock names and not pointers). This does mean that if multiple locks of the same name are manipulated, the source line for that name may be confusing. However, for many cases this can be useful. Locks are blue when they are held and purple when contested. The contention support is a bit weak due to limitations in the rw_rlock() and mtx_lock_spin() logging messages currently. I also have not added support for contention on lockmgr, sx, or rmlocks yet. What is there now can be profitably used to examine activity on Giant however. - Expand the width of the event source names column a bit to allow for some of the longer names of these new source types.
show more ...
|
0482a607 | 24-Jan-2007 |
Jeff Roberson <jeff@FreeBSD.org> |
- 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, s
- 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.
show more ...
|