Konstantin Belousov wrote:
Author: kib
Date: Wed Dec 3 15:10:31 2008
New Revision: 185581
URL: http://svn.freebsd.org/changeset/base/185581
Log:
MFC r185474:
Clarify the reason to not use the volatile string as an argument to CTR
macros. Note the logging of file and line.
Approved by: re (hrs)
Modified:
releng/7.1/share/man/man9/ (props changed)
releng/7.1/share/man/man9/ktr.9
Modified: releng/7.1/share/man/man9/ktr.9
==============================================================================
--- releng/7.1/share/man/man9/ktr.9 Wed Dec 3 15:07:17 2008
(r185580)
+++ releng/7.1/share/man/man9/ktr.9 Wed Dec 3 15:10:31 2008
(r185581)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 27, 2005
+.Dd November 30, 2008
.Dt KTR 9
.Os
.Sh NAME
@@ -84,9 +84,16 @@ Following the
.Fa format
string are zero to five arguments referenced by
.Fa format .
+Each event is logged with a file name and source line number of the
+originating CTR call, and a timestamp in addition to the log message.
+.Pp
+The event is stored in the circular buffer with supplied arguments as is,
+and formatting is done at the dump time.
+Do not use pointers to the objects with limited lifetime, for instance,
+strings, because the pointer may become invalid when buffer is printed.
+.Pp
You might even expand more on this..
"In particular remember that process poineters and other structures
that can get recycled should NOT be passed as they may be recycled
before they are evaluated at dump time."
I've seen proc* in htere before now..
Note that the different macros differ only in the number of arguments each
one takes, as indicated by its name.
-Each event is logged with a timestamp in addition to the log message.
.Pp
The
.Va ktr_entries
@@ -121,13 +128,11 @@ mi_switch()
* Pick a new current process and record its start time.
*/
...
- CTR3(KTR_PROC, "mi_switch: old proc %p (pid %d, %s)", p, p->p_pid,
- p->p_comm);
+ CTR3(KTR_PROC, "mi_switch: old proc %p (pid %d)", p, p->p_pid);
...
cpu_switch();
...
- CTR3(KTR_PROC, "mi_switch: new proc %p (pid %d, %s)", p, p->p_pid,
- p->p_comm);
+ CTR3(KTR_PROC, "mi_switch: new proc %p (pid %d)", p, p->p_pid);
...
}
.Ed
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"