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] [day] [month] [year] [list]
Message-Id: <20150208.165427.953190098322716725.davem@davemloft.net>
Date:	Sun, 08 Feb 2015 16:54:27 -0800 (PST)
From:	David Miller <davem@...emloft.net>
To:	eric.dumazet@...il.com
Cc:	netdev@...r.kernel.org, therbert@...gle.com, ycai@...gle.com,
	willemb@...gle.com
Subject: Re: [PATCH net-next] net: rfs: add hash collision detection

From: Eric Dumazet <eric.dumazet@...il.com>
Date: Fri, 06 Feb 2015 12:59:01 -0800

> From: Eric Dumazet <edumazet@...gle.com>
> 
> Receive Flow Steering is a nice solution but suffers from
> hash collisions when a mix of connected and unconnected traffic
> is received on the host, when flow hash table is populated.
> 
> Also, clearing flow in inet_release() makes RFS not very good
> for short lived flows, as many packets can follow close().
> (FIN , ACK packets, ...)
> 
> This patch extends the information stored into global hash table
> to not only include cpu number, but upper part of the hash value.
> 
> I use a 32bit value, and dynamically split it in two parts.
> 
> For host with less than 64 possible cpus, this gives 6 bits for the
> cpu number, and 26 (32-6) bits for the upper part of the hash.
> 
> Since hash bucket selection use low order bits of the hash, we have
> a full hash match, if /proc/sys/net/core/rps_sock_flow_entries is big
> enough.
> 
> If the hash found in flow table does not match, we fallback to RPS (if
> it is enabled for the rxqueue).
> 
> This means that a packet for an non connected flow can avoid the
> IPI through a unrelated/victim CPU.
> 
> This also means we no longer have to clear the table at socket
> close time, and this helps short lived flows performance.
> 
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>

Applied, thanks Eric.
--
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