One problem for the fallback scenario is that server must actively send
decline message to client and wait for the clc proposal message that
client may already sent, otherwise the message of SMC handshake may be
read by user space application, which will also lead to OOM conditions
caused by infinite amount of dangling sockets.
In that case, we have to make restrictions on 'SMC fallback ing', which
makes things more complicated.
Any advise will be highly appreciated.
Thanks.
在 2022/1/5 下午11:06, D. Wythe 写道:
LGTM. Fallback makes the restrictions on SMC dangling
connections more meaningful to me, compared to dropping them.
Overall, i see there are two scenario.
1. Drop the overflow connections limited by userspace application
accept.
2. Fallback the overflow connections limited by the heavy process of
current SMC handshake. ( We can also control its behavior through
sysctl.)
I'll follow those advise to improve my patch, more advise will be highly
appreciated.
Thanks all.
On Wed, Jan 05, 2022 at 02:17:41PM +0100, Karsten Graul wrote:
On 05/01/2022 09:57, dust.li wrote:
On Wed, Jan 05, 2022 at 12:40:49PM +0800, D. Wythe wrote:
I'm thinking maybe we can actively fall back to TCP in this case ? Not
sure if this is a good idea.
I think its a good decision to switch new connections to use the TCP fallback when the
current queue of connections waiting for a SMC handshake is too large.
With this the application is able to accept all incoming connections and they are not
dropped. The only thing that is be different compared to TCP is that the order of the
accepted connections is changed, connections that came in later might reach the user space
application earlier than connections that still run the SMC hand shake processing.
But I think that is semantically okay.