summaryrefslogtreecommitdiff
path: root/fs/smb/client/connect.c
diff options
context:
space:
mode:
authorEnzo Matsumiya <ematsumiya@suse.de>2025-06-22 17:04:10 -0300
committerEnzo Matsumiya <ematsumiya@suse.de>2025-06-22 17:04:10 -0300
commit5aea01db0af37260e4a0a0d17b6f22f4f1764d7e (patch)
tree62b2060c58bfd79ef6808103314933be93468f85 /fs/smb/client/connect.c
parentd829bbabf99c4bfbdb82a1a8d24d71e76f3dd53b (diff)
downloadlinux-multichannel-fixes-v3.tar.gz
linux-multichannel-fixes-v3.tar.bz2
linux-multichannel-fixes-v3.zip
smb: client: multichannel picking WIPmultichannel-fixes-v3
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Diffstat (limited to 'fs/smb/client/connect.c')
-rw-r--r--fs/smb/client/connect.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/smb/client/connect.c b/fs/smb/client/connect.c
index 90c8286ae39d..104e44092ceb 100644
--- a/fs/smb/client/connect.c
+++ b/fs/smb/client/connect.c
@@ -1751,6 +1751,7 @@ static int cifsd_start(struct TCP_Server_Info *server)
if (!IS_ERR(server->tsk)) {
cpumask_set_cpu(cifsd_cur_cpu, &cifsd_cpu_load);
server->tsk_cpu = cifsd_cur_cpu = cpu;
+ pr_err("%s: starting on CPU %d\n", __func__, cpu);
} else {
ret = PTR_ERR(server->tsk);
server->tsk = NULL;
@@ -2180,10 +2181,12 @@ void __cifs_put_smb_ses(struct cifs_ses *ses)
list_del_init(&ses->smb_ses_list);
spin_unlock(&cifs_tcp_ses_lock);
- pr_err("%s: channel changes %zu, fast %zu, slow %zu\n", __func__, ses->chan_changes, ses->fast_picks, ses->slow_picks);
+ pr_err("%s: channel changes %zu, fast %zu (first picks %zu), slow %zu\n", __func__, ses->chan_changes, ses->fast_picks, ses->fast_first, ses->slow_picks);
/* close any extra channels */
+ pr_err("%s: chan 0 used %zu times (recent cpu %zu)\n", __func__, ses->chans[0].used, ses->chans[0].same_cpu);
for (i = 1; i < ses->chan_count; i++) {
+ pr_err("%s: chan %zu used %zu times (recent cpu %zu)\n", __func__, i, ses->chans[i].used, ses->chans[i].same_cpu);
list_del_init(&ses->chans[i].head);
if (ses->chans[i].iface) {
kref_put(&ses->chans[i].iface->refcount, release_iface);
@@ -2512,7 +2515,7 @@ retry_old_session:
/* add server as first channel */
spin_lock(&ses->chan_lock);
ses->chans[0].server = server;
- list_add(&ses->chans[0].head, &ses->chans_lru);
+ list_add(&ses->chans[0].head, &ses->chans_prio);
ses->chan_count = 1;
ses->chan_max = ctx->multichannel ? ctx->max_channels:1;
ses->chans_need_reconnect = 1;