lkml.org 
[lkml]   [2017]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 080/101] net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jack Morgenstein <jackm@dev.mellanox.co.il>


    [ Upstream commit 9577b174cd0323d287c994ef0891db71666d0765 ]

    When running SRIOV, warnings for SRQ LIMIT events flood the Hypervisor's
    message log when (correct, normally operating) apps use SRQ LIMIT events
    as a trigger to post WQEs to SRQs.

    Add more information to the existing debug printout for SRQ_LIMIT, and
    output the warning messages only for the SRQ CATAS ERROR event.

    Fixes: acba2420f9d2 ("mlx4_core: Add wrapper functions and comm channel and slave event support to EQs")
    Fixes: e0debf9cb50d ("mlx4_core: Reduce warning message for SRQ_LIMIT event to debug level")
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mellanox/mlx4/eq.c | 23 ++++++++++++++---------
    1 file changed, 14 insertions(+), 9 deletions(-)

    --- a/drivers/net/ethernet/mellanox/mlx4/eq.c
    +++ b/drivers/net/ethernet/mellanox/mlx4/eq.c
    @@ -542,8 +542,9 @@ static int mlx4_eq_int(struct mlx4_dev *
    break;

    case MLX4_EVENT_TYPE_SRQ_LIMIT:
    - mlx4_dbg(dev, "%s: MLX4_EVENT_TYPE_SRQ_LIMIT\n",
    - __func__);
    + mlx4_dbg(dev, "%s: MLX4_EVENT_TYPE_SRQ_LIMIT. srq_no=0x%x, eq 0x%x\n",
    + __func__, be32_to_cpu(eqe->event.srq.srqn),
    + eq->eqn);
    case MLX4_EVENT_TYPE_SRQ_CATAS_ERROR:
    if (mlx4_is_master(dev)) {
    /* forward only to slave owning the SRQ */
    @@ -558,15 +559,19 @@ static int mlx4_eq_int(struct mlx4_dev *
    eq->eqn, eq->cons_index, ret);
    break;
    }
    - mlx4_warn(dev, "%s: slave:%d, srq_no:0x%x, event: %02x(%02x)\n",
    - __func__, slave,
    - be32_to_cpu(eqe->event.srq.srqn),
    - eqe->type, eqe->subtype);
    + if (eqe->type ==
    + MLX4_EVENT_TYPE_SRQ_CATAS_ERROR)
    + mlx4_warn(dev, "%s: slave:%d, srq_no:0x%x, event: %02x(%02x)\n",
    + __func__, slave,
    + be32_to_cpu(eqe->event.srq.srqn),
    + eqe->type, eqe->subtype);

    if (!ret && slave != dev->caps.function) {
    - mlx4_warn(dev, "%s: sending event %02x(%02x) to slave:%d\n",
    - __func__, eqe->type,
    - eqe->subtype, slave);
    + if (eqe->type ==
    + MLX4_EVENT_TYPE_SRQ_CATAS_ERROR)
    + mlx4_warn(dev, "%s: sending event %02x(%02x) to slave:%d\n",
    + __func__, eqe->type,
    + eqe->subtype, slave);
    mlx4_slave_event(dev, slave, eqe);
    break;
    }

    \
     
     \ /
      Last update: 2017-07-03 16:59    [W:2.910 / U:0.400 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site