Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV

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>

authored by

Jack Morgenstein and committed by
David S. Miller
9577b174 7c3945bc

+14 -9
+14 -9
drivers/net/ethernet/mellanox/mlx4/eq.c
··· 554 554 break; 555 555 556 556 case MLX4_EVENT_TYPE_SRQ_LIMIT: 557 - mlx4_dbg(dev, "%s: MLX4_EVENT_TYPE_SRQ_LIMIT\n", 558 - __func__); 557 + mlx4_dbg(dev, "%s: MLX4_EVENT_TYPE_SRQ_LIMIT. srq_no=0x%x, eq 0x%x\n", 558 + __func__, be32_to_cpu(eqe->event.srq.srqn), 559 + eq->eqn); 559 560 case MLX4_EVENT_TYPE_SRQ_CATAS_ERROR: 560 561 if (mlx4_is_master(dev)) { 561 562 /* forward only to slave owning the SRQ */ ··· 571 570 eq->eqn, eq->cons_index, ret); 572 571 break; 573 572 } 574 - mlx4_warn(dev, "%s: slave:%d, srq_no:0x%x, event: %02x(%02x)\n", 575 - __func__, slave, 576 - be32_to_cpu(eqe->event.srq.srqn), 577 - eqe->type, eqe->subtype); 573 + if (eqe->type == 574 + MLX4_EVENT_TYPE_SRQ_CATAS_ERROR) 575 + mlx4_warn(dev, "%s: slave:%d, srq_no:0x%x, event: %02x(%02x)\n", 576 + __func__, slave, 577 + be32_to_cpu(eqe->event.srq.srqn), 578 + eqe->type, eqe->subtype); 578 579 579 580 if (!ret && slave != dev->caps.function) { 580 - mlx4_warn(dev, "%s: sending event %02x(%02x) to slave:%d\n", 581 - __func__, eqe->type, 582 - eqe->subtype, slave); 581 + if (eqe->type == 582 + MLX4_EVENT_TYPE_SRQ_CATAS_ERROR) 583 + mlx4_warn(dev, "%s: sending event %02x(%02x) to slave:%d\n", 584 + __func__, eqe->type, 585 + eqe->subtype, slave); 583 586 mlx4_slave_event(dev, slave, eqe); 584 587 break; 585 588 }