Hi James,
> You may need a "per type" of overflow limit. A 3 - 4GHz cpu will
> generate
> 300k - 400k events per second when tracking cycles.
>
> Some of the more exotic cache behavior counters might fire only 1-2k
> events
> per second, though. When you combine that with the need for the
> counter to fire while
> inside the application you are interested in, a 10k event minimum
> seems too small.
(I saw your other email and I figured that was what you meant :-) ).
Yeah, I had an off-line discussion with Phil Beevers about this.
I understand that having a global limit for all types of events
kind of sucks. I looked at implementing a mechanism for per-event
overflow limits but I couldn't come up with something that I was
happy with and I made a trade-off that I think is reasonable for
the first implementation. I may well revisit this at a later date
though. The lower bound may be too low though and may need
revisiting (see below).
> Does a minimum limit actually buy much here?
>
> Consider the case of:
>
> cpc:::FR_retired_x86_instr_w_excp_intr-user-10000
>
> vs
>
> pid123:::
>
> In this case, the cpc probe is actually less capable! If the pid
> provider can generate one event per instruction, without a safety
> limit/check,
> does the CPC provider really need a safety limit?
But what happens if someone (by accident probably) does:
cpc:::FR_retired_x86_instr_w_excp_intr-user-1
and we have userland code going at full tilt generating in the order
of 1 billion insts/sec. We can't sustain that level of interrupt
delivery. Even if you were sampling instructions at a lesser rate
but you were measuring kernel cycles at the same time at a high
frequency (assuming the processor was capable of accommodating multiple
events at the same time) then extreme badness would ensue. Just
measuring kernel instruction with a small rate (~500) can hang a machine
owing to us spending all our time processing interrupts (as they generate
interrupts themselves...).
There may be a case for having a value lower than 10000 but I was being
extremely conservative. I'll do some more experimentation in the next
few days and let you know what I find. Thanks for raising it.
Jon.
_______________________________________________
dtrace-discuss mailing list
[email protected]