summaryrefslogtreecommitdiffstats
path: root/net/smc
diff options
context:
space:
mode:
authorWen Gu <guwen@linux.alibaba.com>2022-07-14 11:44:03 +0200
committerDavid S. Miller <davem@davemloft.net>2022-07-18 12:19:17 +0200
commitb984f370ed5182d180f92dbf14bdf847ff6ccc04 (patch)
treeeab8d07b4b658b5eda523f668ded777706da718f /net/smc
parentnet/smc: Introduce a sysctl for setting SMC-R buffer type (diff)
downloadlinux-b984f370ed5182d180f92dbf14bdf847ff6ccc04.tar.xz
linux-b984f370ed5182d180f92dbf14bdf847ff6ccc04.zip
net/smc: Use sysctl-specified types of buffers in new link group
This patch introduces a new SMC-R specific element buf_type in struct smc_link_group, for recording the value of sysctl smcr_buf_type when link group is created. New created link group will create and reuse buffers of the type specified by buf_type. Signed-off-by: Wen Gu <guwen@linux.alibaba.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc')
-rw-r--r--net/smc/smc_core.c1
-rw-r--r--net/smc/smc_core.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c
index fa3a7a851c60..86afbbce4fca 100644
--- a/net/smc/smc_core.c
+++ b/net/smc/smc_core.c
@@ -907,6 +907,7 @@ static int smc_lgr_create(struct smc_sock *smc, struct smc_init_info *ini)
lgr->net = smc_ib_net(lnk->smcibdev);
lgr_list = &smc_lgr_list.list;
lgr_lock = &smc_lgr_list.lock;
+ lgr->buf_type = lgr->net->smc.sysctl_smcr_buf_type;
atomic_inc(&lgr_cnt);
}
smc->conn.lgr = lgr;
diff --git a/net/smc/smc_core.h b/net/smc/smc_core.h
index 7652dfa783ff..0261124a7a70 100644
--- a/net/smc/smc_core.h
+++ b/net/smc/smc_core.h
@@ -284,6 +284,7 @@ struct smc_link_group {
/* used rtoken elements */
u8 next_link_id;
enum smc_lgr_type type;
+ enum smcr_buf_type buf_type;
/* redundancy state */
u8 pnet_id[SMC_MAX_PNETID_LEN + 1];
/* pnet id of this lgr */