Re: [PATCH RESEND net] net/mlx4_en: Limit the RFS filter IDs to be < RPS_NO_FILTER
From: Or Gerlitz <hidden>
Date: 2012-07-25 15:08:08
On 25/07/2012 17:57, Ben Hutchings wrote:
resending as of typo in my signature... sorry --signoff is so much easier than typing it every time :-)
I know and I do that on the regular basis, today did that differently and here's the result... Or.
quoted
drivers/net/ethernet/mellanox/mlx4/en_cq.c | 8 ++------ drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-)diff --git a/drivers/net/ethernet/mellanox/mlx4/en_cq.c b/drivers/net/ethernet/mellanox/mlx4/en_cq.c index aa9c2f6..866829b 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_cq.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_cq.c@@ -77,12 +77,8 @@ int mlx4_en_activate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq, struct mlx4_en_dev *mdev = priv->mdev; int err = 0; char name[25]; - struct cpu_rmap *rmap = -#ifdef CONFIG_RFS_ACCEL - priv->dev->rx_cpu_rmap; -#else - NULL; -#endif + struct cpu_rmap *rmap = IS_ENABLED(CONFIG_RFS_ACCEL) ? + priv->dev->rx_cpu_rmap : NULL;This is a separate change.
OK, will send two patches
quoted
cq->dev = mdev->pndev[priv->port]; cq->mcq.set_ci_db = cq->wqres.db.db;diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c index 8864d8b..edd9cb8 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c@@ -201,7 +201,7 @@ mlx4_en_filter_alloc(struct mlx4_en_priv *priv, int rxq_index, __be32 src_ip, filter->flow_id = flow_id; - filter->id = priv->last_filter_id++; + filter->id = priv->last_filter_id++ % RPS_NO_FILTER;This should do for now.
thanks Or.
Ideally the filter ID would be based on the index used in hardware. We would need to change the API to allow for devices where this cannot be determined synchronously, as in this driver. (And the filter ID might also need to be wider.) Ben.quoted
list_add_tail(&filter->next,&priv->filters); hlist_add_head(&filter->filter_chain,