Commit Graph

26 Commits

Author SHA1 Message Date
christos a18b60aecf move all the necessay code inside ifdef 2013-10-19 17:10:17 +00:00
yamt fb5e2b43eb add -d option to disable lockstat 2013-03-06 11:49:06 +00:00
joerg 2eb6527c5c static + __dead 2011-08-30 19:20:20 +00:00
yamt 6825a3d2a8 whitespace. no functional changes. 2011-02-05 13:32:32 +00:00
lukem 3365bf7170 Fix -Wsign-compare issues 2009-04-16 06:14:13 +00:00
ad 5d2a6ba964 Add -x: summarize events, and do not report on lock types. 2009-03-21 13:02:19 +00:00
ad 33774d3216 Report LB_MISC events, for one-off instrumentation. 2009-02-22 15:08:58 +00:00
martin 11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
ad 4c7ba24481 Add MI code to support in-kernel preemption. Preemption is deferred by
one of the following:

- Holding kernel_lock (indicating that the code is not MT safe).
- Bracketing critical sections with kpreempt_disable/kpreempt_enable.
- Holding the interrupt priority level above IPL_NONE.

Statistics on kernel preemption are reported via event counters, and
where preemption is deferred for some reason, it's also reported via
lockstat. The LWP priority at which preemption is triggered is tuneable
via sysctl.
2008-04-28 15:36:01 +00:00
ad 15efd9ad99 Do adaptive spinning for rwlocks, but only if the lock is write held and
there are no waiters. This gives a major boost to build.sh on larger
systems as directory vnode locks are exclusive for lookup, but are often
only held for a very short period of time.

This change has the potential to more readily expose lock order reversals
and other types of deadlock.
2008-04-04 17:25:09 +00:00
ad ea9faa6742 lockstat: no longer track lockmgr() events. 2008-01-26 14:29:31 +00:00
wiz 833f95f3dc Sort options. Sync -E argument name with man page. 2007-07-15 21:24:46 +00:00
wiz e85760e80f Sort options. Use HTML escapes. 2007-07-15 21:24:22 +00:00
ad 5c2240bb95 - Increase default number of trace buffers to 10000.
- New options:
     -f         Trace only by calling functions.
     -m         Merge call sites within unique functions.
     -M         Merge lock addresses within unique objects.
2007-07-14 13:30:43 +00:00
ad 75922662e1 Correctly seperate different events for the same type of lock. 2007-01-20 20:01:03 +00:00
ad 9f07c24ec6 lockstat: improve reporting slightly, and fix a bug where the command
could spin while resorting lists.
2006-12-25 11:57:40 +00:00
ad 9a12b97e85 Nx 5.0 -> Nx 4.0 2006-12-15 20:25:55 +00:00
ad 048c3d68d9 Tweak output slightly, and fix a bug. 2006-11-13 19:08:52 +00:00
ad 1279365222 Fix some minor bugs and improve output slightly. 2006-11-08 23:12:57 +00:00
wiz 97c200c877 Sort options. 2006-09-10 21:09:48 +00:00
wiz 59dbad538e Sort sections. Sort options. Fix Xref section. 2006-09-10 21:08:56 +00:00
ad c2ed6959c7 Add a very brief EXAMPLES section. 2006-09-07 14:52:38 +00:00
ad d8323c46d4 Fix a typo. 2006-09-07 14:44:05 +00:00
ad 96d4a987b2 Fix an #include. 2006-09-07 01:23:59 +00:00
ad 297f461929 Add the lockstat command: displays a summary of kernel locking events
recorded over the lifetime of a called program.
2006-09-07 00:50:45 +00:00