Commit 0f3e7237 authored by Kirill Smelkov's avatar Kirill Smelkov

X pinglat: Start timing from last interrupt

But verify via nint the scenario is sane (e.g. nint=2 means TXintr
RXintr icmp_echo icmp_reply TXintr RXintr ...)

----------------------------------------
     nint          : count     distribution
        0          : 0        |                                        |
        1          : 3        |                                        |
        2          : 24557    |****************************************|
        3          : 11       |                                        |
        4          : 1        |                                        |
     int - icmp_echo (μs) : count     distribution
         0 -> 1          : 23238    |****************************************|
         2 -> 3          : 1031     |*                                       |
         4 -> 7          : 169      |                                        |
         8 -> 15         : 17       |                                        |
        16 -> 31         : 118      |                                        |
        32 -> 63         : 1        |                                        |
     icmp_echo - tx (μs) : count     distribution
         0 -> 1          : 24335    |****************************************|
         2 -> 3          : 186      |                                        |
         4 -> 7          : 39       |                                        |
         8 -> 15         : 1        |                                        |
        16 -> 31         : 16       |                                        |
     int - tx (μs)      : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 23836    |****************************************|
         4 -> 7          : 583      |                                        |
         8 -> 15         : 26       |                                        |
        16 -> 31         : 123      |                                        |
        32 -> 63         : 10       |                                        |
----------------------------------------

i.e. on my deco software processing time for icmp echo request is <= 3μs.
parent 0f4b6d6d
...@@ -60,14 +60,14 @@ prog += r""" ...@@ -60,14 +60,14 @@ prog += r"""
int z=0; struct event zev = {}; int z=0; struct event zev = {};
struct event *ev = event.lookup_or_init(&z, &zev); struct event *ev = event.lookup_or_init(&z, &zev);
if (ev->tint != 0) { //if (ev->tint != 0) {
// interrupt came but icmp_echo not yet handled // // interrupt came but icmp_echo not yet handled
ev->nint++; // ev->nint++;
return 0; // return 0;
} //}
ev->tint = ts; ev->tint = ts; // t of _last_ interrupt
ev->nint = 1; ev->nint++; // verifying it is sane (e.g. =2 means TXintr RXintr icmp_echo icmp_reply TXintr RXintr ...
//bpf_trace_printk("interrupt: %s\n", irqname); //bpf_trace_printk("interrupt: %s\n", irqname);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment