Hi -
On Sat, Apr 19, 2008 at 04:52:26PM +0200, Peter Zijlstra wrote:
OTOH I think this is a false dichotomy. Debugging is not only done by
a subsystem maintainer during the merge/rc period. When something
goes wrong on a deployed machine, problem diagnosis requires data,
which ideally should be gathered as non-intrusively as possible - that
means no recompiling / rebooting, and ideally very little slowdown.
I bet that many of those markers you might consider "ad-hoc" would in
fact have some post-release diagnostic value. Now, maybe in the case
of futexes, the kernel makes no sophisticated decisions that may need
subsequent review. Maybe all the internals are directly calculable
from the results visible at the system call level (which threads block
and which return). But this is certainly not so for many other parts
of the kernel.
With markers, you don't have to make this an agonizing decision. You
just insert markers, regardless of whether it's high-level, universal,
"permanent"; or whether it's low-level, diagnostic, temporary. The
same consumer tools will work for them all.
- FChE
--