• Or Gerlitz's avatar
    net/mlx5e: Disable preemption when doing TC statistics upcall · fed06ee8
    Or Gerlitz authored
    When called by HW offloading drivers, the TC action (e.g
    net/sched/act_mirred.c) code uses this_cpu logic, e.g
    
     _bstats_cpu_update(this_cpu_ptr(a->cpu_bstats), bytes, packets)
    
    per the kernel documention, preemption should be disabled, add that.
    
    Before the fix, when running with CONFIG_PREEMPT set, we get a
    
    BUG: using smp_processor_id() in preemptible [00000000] code: tc/3793
    
    asserion from the TC action (mirred) stats_update callback.
    
    Fixes: aad7e08d ('net/mlx5e: Hardware offloaded flower filter statistics support')
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fed06ee8
en_tc.c 30.7 KB