summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-04-01 05:35:26 +0000
committerjake <jake@FreeBSD.org>2002-04-01 05:35:26 +0000
commitf9f52274db8c5c9f808b66146813a7c7adf790fc (patch)
treea1ddb5388858cb799351ef968fc9232ab5847893 /sys/sparc64
parent7bf585a15eddbea0da511a48574eac2bdc1e1911 (diff)
downloadFreeBSD-src-f9f52274db8c5c9f808b66146813a7c7adf790fc.zip
FreeBSD-src-f9f52274db8c5c9f808b66146813a7c7adf790fc.tar.gz
ktr changes to improve performance and make writing a userland utility to
dump the trace buffer feasible. - Remove KTR_EXTEND. This changes the format of the trace entries when activated, making writing a userland tool which is not tied to a specific kernel configuration difficult. - Use get_cyclecount() for timestamps. nanotime() is much too heavy weight and requires recursion protection due to ktr traces occuring as a result of ktr traces. KTR_VERBOSE may still require recursion protection, which is now conditional on it. - Allow KTR_CPU to be overridden by MD code. This is so that it is possible to trace early in startup before pcpu and/or curthread are setup. - Add a version number for the ktr interface. A userland tool can check this to detect mismatches. - Use an array for the parameters to make decoding in userland easier. - Add file and line recording to the non-extended traces now that the extended version is no more. These changes will break gdb macros to decode the extended version of the trace buffer which are floating around. Users of these macros should either use the show ktr command in ddb, or use the userland utility which can be run on a core dump. Approved by: jhb Tested on: i386, sparc64
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/sparc64/genassym.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/sparc64/sparc64/genassym.c b/sys/sparc64/sparc64/genassym.c
index 6791f4e..93f700c 100644
--- a/sys/sparc64/sparc64/genassym.c
+++ b/sys/sparc64/sparc64/genassym.c
@@ -134,12 +134,13 @@ ASSYM(KTR_CT8, KTR_CT8);
ASSYM(KTR_SIZEOF, sizeof(struct ktr_entry));
ASSYM(KTR_DESC, offsetof(struct ktr_entry, ktr_desc));
ASSYM(KTR_CPU, offsetof(struct ktr_entry, ktr_cpu));
-ASSYM(KTR_PARM1, offsetof(struct ktr_entry, ktr_parm1));
-ASSYM(KTR_PARM2, offsetof(struct ktr_entry, ktr_parm2));
-ASSYM(KTR_PARM3, offsetof(struct ktr_entry, ktr_parm3));
-ASSYM(KTR_PARM4, offsetof(struct ktr_entry, ktr_parm4));
-ASSYM(KTR_PARM5, offsetof(struct ktr_entry, ktr_parm5));
-ASSYM(KTR_PARM6, offsetof(struct ktr_entry, ktr_parm6));
+ASSYM(KTR_TIMESTAMP, offsetof(struct ktr_entry, ktr_timestamp));
+ASSYM(KTR_PARM1, offsetof(struct ktr_entry, ktr_parms[0]));
+ASSYM(KTR_PARM2, offsetof(struct ktr_entry, ktr_parms[1]));
+ASSYM(KTR_PARM3, offsetof(struct ktr_entry, ktr_parms[2]));
+ASSYM(KTR_PARM4, offsetof(struct ktr_entry, ktr_parms[3]));
+ASSYM(KTR_PARM5, offsetof(struct ktr_entry, ktr_parms[4]));
+ASSYM(KTR_PARM6, offsetof(struct ktr_entry, ktr_parms[5]));
ASSYM(TTE_VPN, offsetof(struct tte, tte_vpn));
ASSYM(TTE_DATA, offsetof(struct tte, tte_data));
OpenPOWER on IntegriCloud