lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1343228246.2694.13.camel@bwh-desktop.uk.solarflarecom.com>
Date:	Wed, 25 Jul 2012 15:57:26 +0100
From:	Ben Hutchings <bhutchings@...arflare.com>
To:	Or Gerlitz <ogerlitz@...lanox.com>
CC:	<davem@...emloft.net>, <netdev@...r.kernel.org>,
	<oren@...lanox.com>, Amir Vadai <amirv@...lanox.com>
Subject: Re: [PATCH RESEND net] net/mlx4_en: Limit the RFS filter IDs to be
 < RPS_NO_FILTER

On Wed, 2012-07-25 at 17:36 +0300, Or Gerlitz wrote:
> From: Amir Vadai <amirv@...lanox.com>
> 
> RFS filter id can't have the special value RPS_NO_FILTER, 
> need to skip it when allocating id's.
> 
> Also, changed an ifdef into a more elegant IS_DEFINED.
> 
> CC: Ben Hutchings <bhutchings@...arflare.com>
> Signed-off-by: Amir Vadai <amirv@...lanox.com>
> Signed-off-by: Or Gerlitz <ogerlitz@...lanox.com>
> ---
> 
> Addressing feedback from Ben Hutchings
> 
> resending as of typo in my signature... sorry

--signoff is so much easier than typing it every time :-)

>  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 ought to be a separate change really.
 
>  	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.

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.

>  
>  	list_add_tail(&filter->next, &priv->filters);
>  	hlist_add_head(&filter->filter_chain,

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ