All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karsten Graul <kgraul@linux.ibm.com>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, linux-s390@vger.kernel.org,
	hca@linux.ibm.com, raspl@linux.ibm.com
Subject: [PATCH net-next 04/15] net/smc: Add link counters for IB device ports
Date: Mon,  2 Nov 2020 20:33:58 +0100	[thread overview]
Message-ID: <20201102193409.70901-5-kgraul@linux.ibm.com> (raw)
In-Reply-To: <20201102193409.70901-1-kgraul@linux.ibm.com>

From: Guvenc Gulce <guvenc@linux.ibm.com>

Add link counters to the structure of the smc ib device, one counter per
ib port. Increase/decrease the counters as needed in the corresponding
routines.

Signed-off-by: Guvenc Gulce <guvenc@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
---
 net/smc/smc_core.c | 3 +++
 net/smc/smc_ib.h   | 1 +
 2 files changed, 4 insertions(+)

diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c
index 6e2077161267..da94725deb09 100644
--- a/net/smc/smc_core.c
+++ b/net/smc/smc_core.c
@@ -316,6 +316,7 @@ int smcr_link_init(struct smc_link_group *lgr, struct smc_link *lnk,
 	lnk->link_idx = link_idx;
 	lnk->smcibdev = ini->ib_dev;
 	lnk->ibport = ini->ib_port;
+	atomic_inc(&ini->ib_dev->lnk_cnt_by_port[ini->ib_port - 1]);
 	lnk->path_mtu = ini->ib_dev->pattr[ini->ib_port - 1].active_mtu;
 	atomic_set(&lnk->conn_cnt, 0);
 	smc_llc_link_set_uid(lnk);
@@ -360,6 +361,7 @@ int smcr_link_init(struct smc_link_group *lgr, struct smc_link *lnk,
 	smc_llc_link_clear(lnk, false);
 out:
 	put_device(&ini->ib_dev->ibdev->dev);
+	atomic_dec(&ini->ib_dev->lnk_cnt_by_port[ini->ib_port - 1]);
 	memset(lnk, 0, sizeof(struct smc_link));
 	lnk->state = SMC_LNK_UNUSED;
 	if (!atomic_dec_return(&ini->ib_dev->lnk_cnt))
@@ -750,6 +752,7 @@ void smcr_link_clear(struct smc_link *lnk, bool log)
 	smc_ib_dealloc_protection_domain(lnk);
 	smc_wr_free_link_mem(lnk);
 	put_device(&lnk->smcibdev->ibdev->dev);
+	atomic_dec(&lnk->smcibdev->lnk_cnt_by_port[lnk->ibport - 1]);
 	smcibdev = lnk->smcibdev;
 	memset(lnk, 0, sizeof(struct smc_link));
 	lnk->state = SMC_LNK_UNUSED;
diff --git a/net/smc/smc_ib.h b/net/smc/smc_ib.h
index 2ce481187dd0..3e6bfeddd53b 100644
--- a/net/smc/smc_ib.h
+++ b/net/smc/smc_ib.h
@@ -53,6 +53,7 @@ struct smc_ib_device {				/* ib-device infos for smc */
 	atomic_t		lnk_cnt;	/* number of links on ibdev */
 	wait_queue_head_t	lnks_deleted;	/* wait 4 removal of all links*/
 	struct mutex		mutex;		/* protect dev setup+cleanup */
+	atomic_t		lnk_cnt_by_port[SMC_MAX_PORTS];/*#lnk per port*/
 };
 
 struct smc_buf_desc;
-- 
2.17.1


  parent reply	other threads:[~2020-11-02 19:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-02 19:33 [PATCH net-next 00/15] net/smc: extend diagnostic netlink interface Karsten Graul
2020-11-02 19:33 ` [PATCH net-next 01/15] net/smc: use helper smc_conn_abort() in listen processing Karsten Graul
2020-11-02 19:33 ` [PATCH net-next 02/15] net/smc: Use active link of the connection Karsten Graul
2020-11-02 19:33 ` [PATCH net-next 03/15] net/smc: Add connection counters for links Karsten Graul
2020-11-02 19:33 ` Karsten Graul [this message]
2020-11-02 19:33 ` [PATCH net-next 05/15] net/smc: Add diagnostic information to smc ib-device Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 06/15] net/smc: Add diagnostic information to link structure Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 07/15] net/smc: Refactor the netlink reply processing routine Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 08/15] net/smc: Add ability to work with extended SMC netlink API Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 09/15] net/smc: Introduce SMCR get linkgroup command Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 10/15] net/smc: Introduce SMCR get link command Karsten Graul
2020-11-02 22:12   ` Jakub Kicinski
2020-11-03  2:20   ` kernel test robot
2020-11-03  2:20     ` kernel test robot
2020-11-02 19:34 ` [PATCH net-next 11/15] net/smc: Add SMC-D Linkgroup diagnostic support Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 12/15] net/smc: Add support for obtaining SMCD device list Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 13/15] net/smc: Add support for obtaining SMCR " Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 14/15] net/smc: Refactor smc ism v2 capability handling Karsten Graul
2020-11-02 19:34 ` [PATCH net-next 15/15] net/smc: Add support for obtaining system information Karsten Graul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201102193409.70901-5-kgraul@linux.ibm.com \
    --to=kgraul@linux.ibm.com \
    --cc=davem@davemloft.net \
    --cc=hca@linux.ibm.com \
    --cc=linux-s390@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=raspl@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.