diff options
author | Eric Dumazet <[email protected]> | 2017-02-10 04:27:58 -0800 |
---|---|---|
committer | David S. Miller <[email protected]> | 2017-02-17 10:55:22 -0500 |
commit | 01f0f4253469e1b1e80bc84ae64728c294534836 (patch) | |
tree | 04d19fb652370947799509fce5e87668e5835c98 /security/selinux/netnode.c | |
parent | 99d5ceeea5120dd3ac2f879f4083697b70a1c89f (diff) |
mlx4: do not fire tasklet unless necessary
All rx and rx netdev interrupts are handled by respectively
by mlx4_en_rx_irq() and mlx4_en_tx_irq() which simply schedule a NAPI.
But mlx4_eq_int() also fires a tasklet to service all items that were
queued via mlx4_add_cq_to_tasklet(), but this handler was not called
unless user cqe was handled.
This is very confusing, as "mpstat -I SCPU ..." show huge number of
tasklet invocations.
This patch saves this overhead, by carefully firing the tasklet directly
from mlx4_add_cq_to_tasklet(), removing four atomic operations per IRQ.
Signed-off-by: Eric Dumazet <[email protected]>
Cc: Tariq Toukan <[email protected]>
Cc: Saeed Mahameed <[email protected]>
Acked-by: Saeed Mahameed <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'security/selinux/netnode.c')
0 files changed, 0 insertions, 0 deletions