Controlling probe overhead
Stone, Joshua I
joshua.i.stone@intel.com
Wed Mar 14 23:37:00 GMT 2007
Frank Ch. Eigler wrote:
>> cycles_t interval = (cycles_atend > c->cycles_base)
>> ? (cycles_atend - c->cycles_base)
>> : (STP_OVERLOAD_INTERVAL + 1);
>
> BTW right here is where it will break if the actual hardware counter
> is narrower than cycles_t. If cycles_base was set near its overflow
> point (which may be much less than 2**63), then even a brief probe
> will end up with a cycles_atend < cycles_base. That in turn would
> lead to an erroneous overload indication.
It will generate an extra threshold comparison, but the error indication
only occurs if cycles_sum is more than THRESHOLD. This "quick-wrap"
scenario will be a wasted check, since the sum won't have accumulated
much. However, if there's a real problem, it will be caught on the
following interval.
Josh
More information about the Systemtap
mailing list