On Tue, 5 Nov 2024 13:39:59 -0700 Caleb Sander Mateos wrote: > Currently, the mlx5_eq_comp_int() interrupt handler schedules a tasklet > to call mlx5_cq_tasklet_cb() if it processes any completions. For CQs > whose completions don't need to be processed in tasklet context, this > adds unnecessary overhead. In a heavy TCP workload, we see 4% of CPU > time spent on the tasklet_trylock() in tasklet_action_common(), with a > smaller amount spent on the atomic operations in tasklet_schedule(), > tasklet_clear_sched(), and locking the spinlock in mlx5_cq_tasklet_cb(). > TCP completions are handled by mlx5e_completion_event(), which schedules > NAPI to poll the queue, so they don't need tasklet processing. Applied, thanks