]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net/mlx5e: Create q counters on uplink representors
authorVlad Buslov <vladbu@mellanox.com>
Tue, 21 Jan 2020 19:36:40 +0000 (21:36 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 23 Jan 2020 06:30:12 +0000 (22:30 -0800)
Q counters were disabled for all types of representors to prevent an issue
where there is not enough resources to init q counters for 127 representor
instances. Enable q counters only for uplink representors to support
"rx_out_of_buffer", "rx_if_down_packets" counters in ethtool.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c

index 01745941a11f36764976ea01a4c9df030f7bebb6..f11c86d1b9b7c7693ef449d245abd8ff98c9ddb4 100644 (file)
@@ -1716,6 +1716,23 @@ static void mlx5e_cleanup_rep_rx(struct mlx5e_priv *priv)
        mlx5e_close_drop_rq(&priv->drop_rq);
 }
 
+static int mlx5e_init_ul_rep_rx(struct mlx5e_priv *priv)
+{
+       int err = mlx5e_init_rep_rx(priv);
+
+       if (err)
+               return err;
+
+       mlx5e_create_q_counters(priv);
+       return 0;
+}
+
+static void mlx5e_cleanup_ul_rep_rx(struct mlx5e_priv *priv)
+{
+       mlx5e_destroy_q_counters(priv);
+       mlx5e_cleanup_rep_rx(priv);
+}
+
 static int mlx5e_init_uplink_rep_tx(struct mlx5e_rep_priv *rpriv)
 {
        struct mlx5_rep_uplink_priv *uplink_priv;
@@ -1921,8 +1938,8 @@ static const struct mlx5e_profile mlx5e_rep_profile = {
 static const struct mlx5e_profile mlx5e_uplink_rep_profile = {
        .init                   = mlx5e_init_rep,
        .cleanup                = mlx5e_cleanup_rep,
-       .init_rx                = mlx5e_init_rep_rx,
-       .cleanup_rx             = mlx5e_cleanup_rep_rx,
+       .init_rx                = mlx5e_init_ul_rep_rx,
+       .cleanup_rx             = mlx5e_cleanup_ul_rep_rx,
        .init_tx                = mlx5e_init_rep_tx,
        .cleanup_tx             = mlx5e_cleanup_rep_tx,
        .enable                 = mlx5e_uplink_rep_enable,