Re: mlx4: "failed to allocate default counter port 1"
From: Sebastian Ott <hidden>
Date: 2015-07-01 14:00:10
On Wed, 1 Jul 2015, Or Gerlitz wrote:
On 6/30/2015 5:17 PM, Sebastian Ott wrote:quoted
On Tue, 30 Jun 2015, Or Gerlitz wrote:quoted
On 6/30/2015 4:24 PM, Sebastian Ott wrote:quoted
quoted
quoted
Do you run the VF on the same system/kernel as the PF, or the VF is probed to VM which runs the latest kernel and the PF runsolder kernel (which?)The latter case. The PF is driven by a much older Kernel running OFED 2.3.2.0.0.1Can you try running the inbox PF driver that comes with the PF kernel (what kernel is that?) I'd like to see we're OK there.Frankly, I don't know. Plus I also don't know how to build an ofed kernel.I didn't want you to build that package, but rather the outer way around, namely see what happens if uninstalling this package and running with the mlx4 inbox PF driver from the kernel provided from your distro of choice or an upstreamkernel installed by you. Anyway, I hope the below patch would provide a quick band-aid and let you to continue running upstream VFs over that PF config, let me know (I will be OOO till Thu-Sun). Once we see how this behaves, will take it from there.
Thanks for the patch. Unfortunately, that didn't work: [ 170.531076] mlx4_core 0000:00:00.0: NOP command IRQ test passed [ 170.531291] mlx4_core 0000:00:00.0: can't allocate counter from old PF driver, using index 255 [ 170.531294] mlx4_core 0000:00:00.0: mlx4_allocate_default_counters: default counter index 255 for port 1 [ 170.531531] mlx4_core 0000:00:00.0: can't allocate counter from old PF driver, using index 255 [ 170.531534] mlx4_core 0000:00:00.0: mlx4_allocate_default_counters: default counter index 255 for port 2 [ 170.531535] mlx4_core 0000:00:00.0: Failed to allocate default counters, aborting [ 170.587306] mlx4_core: probe of 0000:00:00.0 failed with error -22 Regards, Sebastian
quoted hunk ↗ jump to hunk
Or.diff --git a/drivers/net/ethernet/mellanox/mlx4/main.cb/drivers/net/ethernet/mellanox/mlx4/main.c index 12fbfcb..a66cc6e 100644--- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c@@ -2273,6 +2273,10 @@ static int mlx4_allocate_default_counters(structmlx4_dev *dev) } else if (err == -ENOENT) { err = 0; continue; + } else if (mlx4_is_slave(dev) && err == -EINVAL) { + priv->def_counter[port] = MLX4_SINK_COUNTER_INDEX(dev); + mlx4_warn(dev, "can't allocate counter from old PF driver, using index %d\n", + MLX4_SINK_COUNTER_INDEX(dev)); } else { mlx4_err(dev, "%s: failed to allocate default counter port %d err %d\n", __func__, port + 1, err);