On 01/17/2019 05:14 PM, Cong Wang wrote:
> Similar to u32 filter, it is useful to know how many times
> we reach each basic filter and how many times we pass the
> ematch attached to it.
> 
> Sample output:
> 
> filter protocol arp pref 49152 basic chain 0
> filter protocol arp pref 49152 basic chain 0 handle 0x1  (rule hit 3 success 
> 3)
>       action order 1: gact action pass
>        random type none pass val 0
>        index 1 ref 1 bind 1 installed 81 sec used 4 sec
>       Action statistics:
>       Sent 126 bytes 3 pkt (dropped 0, overlimits 0 requeues 0)
>       backlog 0b 0p requeues 0

...

> +     for_each_possible_cpu(cpu) {
> +             struct tc_basic_pcnt *pf = per_cpu_ptr(f->pf, cpu);
> +
> +             gpf.rcnt += pf->rcnt;
> +             gpf.rhit += pf->rhit;
> +     }
> 
This looks missing some synchronization of some sort for 32bit kernels ?

Reply via email to