From eaa5b7c973fc9c43caa5962b9269a57388d7721d Mon Sep 17 00:00:00 2001 From: Hans Westgaard Ry Date: Thu, 30 Jun 2016 11:25:34 +0200 Subject: [PATCH] sif: qp: Increase inline data for TSO QPs to accomodate larger L3/L4-headers Signed-off-by: Hans Westgaard Ry Reviewed-by: Knut Omang Tested-by: Knut Omang --- drivers/infiniband/hw/sif/sif_qp.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/hw/sif/sif_qp.c b/drivers/infiniband/hw/sif/sif_qp.c index 44b0db1cc257..999b285c3c49 100644 --- a/drivers/infiniband/hw/sif/sif_qp.c +++ b/drivers/infiniband/hw/sif/sif_qp.c @@ -235,10 +235,15 @@ struct sif_qp *create_qp(struct sif_dev *sdev, /* * We add a sge (with the stencil) when sending with TSO. The stencil is stored at * the beginning of the inline-area. TSO implies checksumming which again has - * a requirement that no inline can be used. It is therefore necessary to check that we have at least - * 64 bytes of inline-buffering. + * a requirement that no inline can be used. + * To be able to accomodate as large L3/L4-headers as possible we allocate 192 + * bytes for inlining; + * entry size 512 bytes + * 16*16 bytes sge + * request 64 bytes + * inline_bufer = 512 - 256 -64 = 192 */ - min_tso_inline = 64; + min_tso_inline = 192; if (flags & IB_QP_CREATE_IPOIB_UD_LSO) { if (init_attr->cap.max_inline_data < min_tso_inline) { sif_log(sdev, SIF_INFO, -- 2.50.1