net/smc: Use sysctl-specified types of buffers in new link group
authorWen Gu <guwen@linux.alibaba.com>
Thu, 14 Jul 2022 09:44:03 +0000 (17:44 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Jul 2022 10:19:17 +0000 (11:19 +0100)
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>
net/smc/smc_core.c
net/smc/smc_core.h

index fa3a7a851c602eead5d87e9575dfc0acfac633b6..86afbbce4fca83adf5627a70db130a4492eb4477 100644 (file)
@@ -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;
index 7652dfa783ffb1e48663b4a8b375272533be3402..0261124a7a70c7182a385ce693fea933bdd70964 100644 (file)
@@ -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 */