KTR_SPAREx
Attilio Rao
attilio at freebsd.org
Tue Jun 5 15:18:55 UTC 2012
2012/6/5 Dag-Erling Smørgrav <des at des.no>:
> While working on Capsicum last year, I noticed that some of the spare
> KTR types are (ab)used for different purposes by different parts of the
> code. KTR_SPARE[234] are all documented as "/* XXX Used by cxgb */",
> but KTR_SPARE3, for instance, is widely used for clock events. Here is
> a complete list:
The truth is, KTR is thought to be a mechanism for catering
"on-the-fly" the tracing of the events, but the very limited
mask/classes of events it provides makes this completely useless.
I don't recall a case where I had to not patch manually KTR knobs to
do actual debugging.
What I really would like to see is:
- Of course remove the bogus usage of KTR_SPAREX in the drivers
- Make the mask of events much bigger than the current one
- Enlarge the number of KTR_SPARE available (16 would be ok)
- By default have KTR_SPARE0-15 to be on in the kernel along with KTR
option, or maybe when the kernel is still in the debugging phase (but
leave in a knob for disabling it)
- Use the dynamic masking system to just mask the SPARE you are
interested into. This way your driver can simply use a KTR_SPARE for
development and you will mask out the right one at run time.
Attilio
--
Peace can only be achieved by understanding - A. Einstein
More information about the freebsd-arch
mailing list