Dmitry, are there other issues I'm missing, that you think would be
better solved using a simpler accounting model?

So according to you, the more complex model gives users a better understanding of behavior of their drivers/applications?

>   0  0      0          201357   0     00000000      2.8  IRQ1: handler1
>   0  0      0          5811       0     00000000      2.4  IRQ1: handler2

what is % in this case?

it accounts :

(1) time spent in ISR;

(2) some prologue for the very first shared handler and epilogue - for the last one.

So in fact, part (1) can be the same for both handlers (say, just the same code), N can be == M (irq frequency) but % numbers are different. Is it fair?

The "simple" model accounts only (1) to ISR time statistics so it's always easy to say what's this number means. It just describes the load caused by a corresponding ISR handler.

Ok, if somebody wants to tell me that shared interrupts is an exceptional and rare case, then I got it. But anyway, as long as we want to provide per-ISR (and not per-IRQ) statistics, it adds some unclearness (unfairness) on how to consider reported values.

I also expected that those prologue and epilogue are likely to cause much lighter "disturbance" being added to a preempted thread (because such threads normally should have higher % load wrt ISR anyway).

Regarding accounting only XN_ISR_HANDLED cases. At least, I suppose, ISR[n+1] doesn't get accounted the interval of time spent by ISR[n] to report XN_ISR_NONE?

Which brings us to the next point that I didn't get it from the 3-d patch after looking at it brielfy (well, I didn't apply it yet).
And in general, it's getting a bit more difficult to see interrupt handling details behind statistic-handling ones, esp. in the case of shared interrupts. Of course, that's really a minor issue as long as users may get better statistic information :)

ok, that was kind of a summary, I hope I didn't forget anything else as we already had quite a long discussion with Jan.

all in all (yep, I like repeating myself :) IMHO the simple model, at least, clearly answeres a question what's behind the numbers while the complex one makes the answer more complex trying to be fair in one place and at the same time adding "unfairness" in another place.


Best regards,
Dmitry Adamushko

Xenomai-core mailing list

Reply via email to