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: <1417790958.15618.4.camel@edumazet-glaptop2.roam.corp.google.com>
Date:	Fri, 05 Dec 2014 06:49:18 -0800
From:	Eric Dumazet <eric.dumazet@...il.com>
To:	roy.qing.li@...il.com, Willem de Bruijn <willemb@...gle.com>
Cc:	netdev@...r.kernel.org
Subject: Re: [PATCH] net: fix the flow limitation computation

On Fri, 2014-12-05 at 17:48 +0800, roy.qing.li@...il.com wrote:
> From: Li RongQing <roy.qing.li@...il.com>
> 
> Once RPS is enabled, the skb maybe enqueue to different CPU, so the
> flow limitation computation should use the enqueued CPU, not the local
> CPU
> 
> Signed-off-by: Li RongQing <roy.qing.li@...il.com>
> ---

CC Willem de Bruijn <willemb@...gle.com>, author of this mechanism, for
comments.

>  net/core/dev.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 945bbd0..e70507d 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -3250,7 +3250,7 @@ static int rps_ipi_queued(struct softnet_data *sd)
>  int netdev_flow_limit_table_len __read_mostly = (1 << 12);
>  #endif
>  
> -static bool skb_flow_limit(struct sk_buff *skb, unsigned int qlen)
> +static bool skb_flow_limit(struct sk_buff *skb, unsigned int qlen, int cpu)



>  {
>  #ifdef CONFIG_NET_FLOW_LIMIT
>  	struct sd_flow_limit *fl;
> @@ -3260,7 +3260,7 @@ static bool skb_flow_limit(struct sk_buff *skb, unsigned int qlen)
>  	if (qlen < (netdev_max_backlog >> 1))
>  		return false;
>  
> -	sd = this_cpu_ptr(&softnet_data);
> +	sd = &per_cpu(softnet_data, cpu);

What about passing sd instead of cpu, so that we do not have to compute
this again ?



--
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