From: Qing Huang Date: Fri, 16 Dec 2016 00:03:58 +0000 (-0800) Subject: ib/mlx4: add msi-x allocation kernel msg logging X-Git-Tag: v4.1.12-92~10^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=73721e1e60bf1c65beeec47647a8d96815addbf8;p=users%2Fjedix%2Flinux-maple.git ib/mlx4: add msi-x allocation kernel msg logging Kernel msg prints are added in the mlx4 driver when enabling msi-x vectors during device initialization. This would help us to debug issues when we encounter errors in this area on both bare metal and VM. Orabug: 25307234 Related Orabug: 23479018, 20597484 Signed-off-by: Qing Huang Reviewed-by: Santosh Shilimkar Reviewed-by: Yuval Shaia Signed-off-by: Dhaval Giani --- diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index b0a8f8b5f768..1fb191ae4e44 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c @@ -2639,10 +2639,10 @@ static void mlx4_enable_msi_x(struct mlx4_dev *dev) { struct mlx4_priv *priv = mlx4_priv(dev); struct msix_entry *entries; - int i; + int i, nreq = 0; if (msi_x) { - int nreq = dev->caps.num_ports * num_online_cpus() + MSIX_LEGACY_SZ; + nreq = dev->caps.num_ports * num_online_cpus() + MSIX_LEGACY_SZ; nreq = min_t(int, dev->caps.num_eqs - dev->caps.reserved_eqs, nreq); @@ -2657,6 +2657,9 @@ static void mlx4_enable_msi_x(struct mlx4_dev *dev) for (i = 0; i < nreq; ++i) entries[i].entry = i; + mlx4_info(dev, "Enabling %d MSI-X vectors, eqs %d rsvd_eqs %d msi_x %d\n", + nreq, dev->caps.num_eqs, dev->caps.reserved_eqs, + msi_x); nreq = pci_enable_msix_range(dev->persist->pdev, entries, 2, nreq); @@ -2676,12 +2679,16 @@ static void mlx4_enable_msi_x(struct mlx4_dev *dev) priv->eq_table.eq[i].irq = entries[i].vector; dev->flags |= MLX4_FLAG_MSI_X; + mlx4_info(dev, "Successfully allocated %d MSI-X vectors, comp_pool %d\n", + nreq, dev->caps.comp_pool); kfree(entries); return; } no_msi: + mlx4_info(dev, "No MSI-X vectors, nreq/errno %d msi_x %d\n", + nreq, msi_x); dev->caps.num_comp_vectors = 1; dev->caps.comp_pool = 0;