[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161116.232236.1426599744587048750.davem@davemloft.net>
Date: Wed, 16 Nov 2016 23:22:36 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: lucien.xin@...il.com
Cc: netdev@...r.kernel.org, linux-sctp@...r.kernel.org,
marcelo.leitner@...il.com, nhorman@...driver.com,
vyasevich@...il.com, herbert@...dor.apana.org.au, phil@....cc
Subject: Re: [PATCH net] sctp: use new rhlist interface on sctp transport
rhashtable
From: Xin Long <lucien.xin@...il.com>
Date: Tue, 15 Nov 2016 23:23:11 +0800
> Now sctp transport rhashtable uses hash(lport, dport, daddr) as the key
> to hash a node to one chain. If in one host thousands of assocs connect
> to one server with the same lport and different laddrs (although it's
> not a normal case), all the transports would be hashed into the same
> chain.
>
> It may cause to keep returning -EBUSY when inserting a new node, as the
> chain is too long and sctp inserts a transport node in a loop, which
> could even lead to system hangs there.
>
> The new rhlist interface works for this case that there are many nodes
> with the same key in one chain. It puts them into a list then makes this
> list be as a node of the chain.
>
> This patch is to replace rhashtable_ interface with rhltable_ interface.
> Since a chain would not be too long and it would not return -EBUSY with
> this fix when inserting a node, the reinsert loop is also removed here.
>
> Signed-off-by: Xin Long <lucien.xin@...il.com>
Applied to net-next, thanks.
Powered by blists - more mailing lists