Commit Graph

21 Commits

Author SHA1 Message Date
Neel Natu
3447a66db8 Don't dump entries that were modified during the time the KTR buffer was being
copied to userspace. Failing to do this would result in entries at the bottom
of the ktrdump output to be more recent than entries at the top.

With this change the timestamps are monotonically decreasing going from the
top to the bottom of the ktrdump output.
2014-03-14 22:07:08 +00:00
Neel Natu
f8c8b7ee8f Fix an issue with ktrdump(8) where it would not print all entries in the
KTR buffer.

This happens when 'i' tries to wrap around from 0 to 'entries - 1'. Since 'i'
is a signed integer the modulo operation actually returns a negative number.

Fix this by computing the next index to use "by hand" instead of relying
on the modulo operator.
2014-03-14 21:35:16 +00:00
Gleb Smirnoff
0d52168e42 Print the ktr(4) format line that caused a failure.
Sponsored by:	Nginx, Inc.
2014-01-17 09:11:44 +00:00
Jeff Roberson
28d91af30f - Implement run-time expansion of the KTR buffer via sysctl.
- Implement a function to ensure that all preempted threads have switched
   back out at least once.  Use this to make sure there are no stale
   references to the old ktr_buf or the lock profiling buffers before
   updating them.

Reviewed by:	marius (sparc64 parts), attilio (earlier patch)
Sponsored by:	EMC / Isilon Storage Division
2012-11-15 00:51:57 +00:00
Navdeep Parhar
913f53dc29 Catch up with r238925. ktr_entries may not be a power of 2. 2012-10-30 21:10:06 +00:00
Dmitry Chagin
718f2aed09 Add -H flag to print thread id. 2011-01-26 06:36:14 +00:00
Xin LI
612f2a0575 Remove unnecessary opt* definations. 2009-02-21 03:53:06 +00:00
Gleb Smirnoff
e5ed7bcc74 Skip format flags, when parsing ktr_desc. 2006-01-12 22:32:07 +00:00
Nate Lawson
ee574da534 Really fix the relative timestamp bug. It was only incorrect for the ALQ
case.  It seems entries are in reverse order when read from the kernel
memory but in the right order when read from a file (i.e. ALQ).  Handle
both cases.

MFC after:	1 day
2005-12-09 14:27:03 +00:00
Nate Lawson
c578cf5e86 Fix -r flag to actually work. "now" comes after "then", not vice versa.
MFC after:	1 day
2005-12-06 14:13:39 +00:00
Christian S.J. Peron
671cff5aec Append a newline character to the usage string.
MFC after:	3 days
2005-06-05 23:49:35 +00:00
Ruslan Ermilov
f682f10c76 Sync program's usage() with manpage's SYNOPSIS. 2005-05-21 09:55:10 +00:00
Julian Elischer
c7f4c39534 Don't use an uninitialised variable when reading from a ktr alq file. 2004-09-27 05:56:57 +00:00
Robert Watson
7d8c7fe102 Add a "-r" flag to ktrdump(1) to print relative timestamps when used
with "-t" rather than absolute timestamps.  This allows the reader
to get a better sense of latency between events, such as time to
schedule an interrupt thread from time the interrupt occurred.  Assert
a copyright on ktrdump.c since I seem to be modifying it more than I
thought.
2004-05-22 08:26:10 +00:00
Robert Watson
7ddc893717 Add a quiet mode to ktrdump(1): if the "-q" flag is used, don't print
the pretty text header on top of the output.  Simplifies feeding the
results of tracing into a script for mechanical processing.
2004-05-21 21:24:58 +00:00
Robert Watson
dd6cf019f3 When the 'f' flag is passed to ktrdump(1), use 40 characters for the
"file and line" field consistently; previously, a 32-character field
length was used for the table header, which resulted in the header
not lining up with the table.
2004-05-21 21:15:48 +00:00
David Malone
feeb25809c Remove an unused variable. 2004-02-15 22:12:32 +00:00
Kris Kennaway
b241e69d12 Use strlcpy() instead of strcpy() to not overflow static buffers. 2002-10-06 23:52:06 +00:00
Jeff Roberson
cba1f1e079 - Add the -i option to read in a saved ktr file output by KTR_ALQ. 2002-09-22 07:21:28 +00:00
Jake Burkholder
d93b1f83cb 1. Add missing include of stdint.h.
2. Fix reversed arguments to strcpy.

Noticed by:	davidc (2)
2002-04-02 04:24:59 +00:00
Jake Burkholder
be6ba83abd ktrdump is a utility to dump the ktr trace buffer from userland. It can
also be run on a core dump.
2002-04-01 05:41:13 +00:00