From: Saeed Mahameed <saeed@kernel.org>
To: Karsten Graul <kgraul@linux.ibm.com>, davem@davemloft.net
Cc: netdev@vger.kernel.org, linux-s390@vger.kernel.org,
hca@linux.ibm.com, raspl@linux.ibm.com
Subject: Re: [PATCH net-next v2 11/15] net/smc: Add SMC-D Linkgroup diagnostic support
Date: Tue, 03 Nov 2020 17:26:07 -0800 [thread overview]
Message-ID: <1c831e09cd2c42d69f5702733e7b083581517e79.camel@kernel.org> (raw)
In-Reply-To: <20201103102531.91710-12-kgraul@linux.ibm.com>
On Tue, 2020-11-03 at 11:25 +0100, Karsten Graul wrote:
> From: Guvenc Gulce <guvenc@linux.ibm.com>
>
> Deliver SMCD Linkgroup information via netlink based
> diagnostic interface.
>
> Signed-off-by: Guvenc Gulce <guvenc@linux.ibm.com>
> Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
> ---
> include/uapi/linux/smc_diag.h | 7 +++
> net/smc/smc_diag.c | 108
> ++++++++++++++++++++++++++++++++++
> net/smc/smc_ism.c | 2 +
> 3 files changed, 117 insertions(+)
>
> diff --git a/include/uapi/linux/smc_diag.h
> b/include/uapi/linux/smc_diag.h
> index a57df0296aa4..5a80172df757 100644
> --- a/include/uapi/linux/smc_diag.h
> +++ b/include/uapi/linux/smc_diag.h
> @@ -81,6 +81,7 @@ enum {
> enum {
> SMC_DIAG_LGR_INFO_SMCR = 1,
> SMC_DIAG_LGR_INFO_SMCR_LINK,
> + SMC_DIAG_LGR_INFO_SMCD,
> };
>
>
> +
> +static int smc_diag_fill_smcd_dev(struct smcd_dev_list *dev_list,
> + struct sk_buff *skb,
> + struct netlink_callback *cb,
> + struct smc_diag_req_v2 *req)
> +{
> + struct smc_diag_dump_ctx *cb_ctx = smc_dump_context(cb);
> + struct smcd_dev *smcd_dev;
> + int snum = cb_ctx->pos[0];
> + int rc = 0, num = 0;
> +
> + mutex_lock(&dev_list->mutex);
> + list_for_each_entry(smcd_dev, &dev_list->list, list) {
> + if (!list_empty(&smcd_dev->lgr_list)) {
You could use early continue every where in this patch to avoid
indentation.
> + if (num < snum)
> + goto next;
> + rc = smc_diag_handle_smcd_lgr(smcd_dev, skb,
> + cb, req);
> + if (rc < 0)
> + goto errout;
> +next:
> + num++;
> + }
> + }
> +errout:
> + mutex_unlock(&dev_list->mutex);
> + cb_ctx->pos[0] = num;
> + return rc;
> +}
> +
> static int __smc_diag_dump(struct sock *sk, struct sk_buff *skb,
> struct netlink_callback *cb,
> const struct smc_diag_req *req)
> @@ -441,6 +546,9 @@ static int smc_diag_dump_ext(struct sk_buff *skb,
> struct netlink_callback *cb)
> if ((req->cmd_ext & (1 << (SMC_DIAG_LGR_INFO_SMCR -
> 1))))
> smc_diag_fill_lgr_list(&smc_lgr_list, skb, cb,
> req);
> + if ((req->cmd_ext & (1 << (SMC_DIAG_LGR_INFO_SMCD -
> 1))))
> + smc_diag_fill_smcd_dev(&smcd_dev_list, skb, cb,
> + req);
> }
>
> return skb->len;
> diff --git a/net/smc/smc_ism.c b/net/smc/smc_ism.c
> index 6abbdd09a580..5bb2c7fb4ea8 100644
> --- a/net/smc/smc_ism.c
> +++ b/net/smc/smc_ism.c
> @@ -20,6 +20,7 @@ struct smcd_dev_list smcd_dev_list = {
> .list = LIST_HEAD_INIT(smcd_dev_list.list),
> .mutex = __MUTEX_INITIALIZER(smcd_dev_list.mutex)
> };
> +EXPORT_SYMBOL_GPL(smcd_dev_list);
>
> bool smc_ism_v2_capable;
>
> @@ -50,6 +51,7 @@ u16 smc_ism_get_chid(struct smcd_dev *smcd)
> {
> return smcd->ops->get_chid(smcd);
> }
> +EXPORT_SYMBOL_GPL(smc_ism_get_chid);
>
This is the 3rd EXPORT SYMBOL until now in this series,
IMHO it is unhealthy to contaminate the kernel symbol table just for
device specific diag purposes.
next prev parent reply other threads:[~2020-11-04 1:26 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-03 10:25 [PATCH net-next v2 00/15] net/smc: extend diagnostic netlink interface Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 01/15] net/smc: use helper smc_conn_abort() in listen processing Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 02/15] net/smc: Use active link of the connection Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 03/15] net/smc: Add connection counters for links Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 04/15] net/smc: Add link counters for IB device ports Karsten Graul
2020-11-04 0:52 ` Saeed Mahameed
2020-11-03 10:25 ` [PATCH net-next v2 05/15] net/smc: Add diagnostic information to smc ib-device Karsten Graul
2020-11-04 1:00 ` Saeed Mahameed
2020-11-03 10:25 ` [PATCH net-next v2 06/15] net/smc: Add diagnostic information to link structure Karsten Graul
2020-11-04 1:06 ` Saeed Mahameed
2020-11-03 10:25 ` [PATCH net-next v2 07/15] net/smc: Refactor the netlink reply processing routine Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 08/15] net/smc: Add ability to work with extended SMC netlink API Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 09/15] net/smc: Introduce SMCR get linkgroup command Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 10/15] net/smc: Introduce SMCR get link command Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 11/15] net/smc: Add SMC-D Linkgroup diagnostic support Karsten Graul
2020-11-04 1:26 ` Saeed Mahameed [this message]
2020-11-03 10:25 ` [PATCH net-next v2 12/15] net/smc: Add support for obtaining SMCD device list Karsten Graul
2020-11-04 1:31 ` Saeed Mahameed
2020-11-06 6:38 ` Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 13/15] net/smc: Add support for obtaining SMCR " Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 14/15] net/smc: Refactor smc ism v2 capability handling Karsten Graul
2020-11-03 10:25 ` [PATCH net-next v2 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=1c831e09cd2c42d69f5702733e7b083581517e79.camel@kernel.org \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=hca@linux.ibm.com \
--cc=kgraul@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).