cifs: distribute channels across interfaces based on speed
authorShyam Prasad N <sprasad@microsoft.com>
Mon, 26 Dec 2022 11:24:56 +0000 (11:24 +0000)
committerSteve French <stfrench@microsoft.com>
Thu, 9 Nov 2023 16:25:17 +0000 (10:25 -0600)
commita6d8fb54a515f0546ffdb7870102b1238917e567
tree7e3d5020ea3e68e21d8373b687205a2815c8a102
parent0c51cc6f2cb0108e7d49805f6e089cd85caab279
cifs: distribute channels across interfaces based on speed

Today, if the server interfaces RSS capable, we simply
choose the fastest interface to setup a channel. This is not
a scalable approach, and does not make a lot of attempt to
distribute the connections.

This change does a weighted distribution of channels across
all the available server interfaces, where the weight is
a function of the advertised interface speed.

Also make sure that we don't mix rdma and non-rdma for channels.

Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifs_debug.c
fs/smb/client/cifsglob.h
fs/smb/client/sess.c