Re: [PATCH for-next 0/2] IB/mlx5: Use tasklet to decrease completions processing time in interrupts

Christoph Hellwig
2016-04-18T13:04:56Z

On Sun, Apr 17, 2016 at 05:08:39PM +0300, Matan Barak wrote:
> Hi Doug,
>
> The mlx5 driver handles completion callbacks inside interrupts.
> These callbacks could be lengthy and thus cause hard lockups.
> In order to avoid these lockups, we introduce a tasklet mechanism.
> The mlx5_ib driver uses this mechanism in order to defer its
> completion callbacks processing to the tasklet.
>
> This follows the same mechanism we implemented for mlx4 that
> successfully decreased the processing time in interrupts.

Just curious: how much of this time is spent inside the mlx5 driver,
and how much is spent in the callbacks from the consumers? We've now
more than half done with switch the kernel ULPs to the new CQ API
which will always offload the callbacks to softirq or workqueue context,
so if we can avoid a previous offload the completions would be a lot
more efficient.