All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leonro@nvidia.com>
To: Tao Cui <cui.tao@linux.dev>
Cc: <dsahern@kernel.org>, <linux-rdma@vger.kernel.org>,
	<netdev@vger.kernel.org>, <cuitao@kylinos.cn>
Subject: Re: [PATCH iproute2-next v4] rdma: display resource limits in curr/max format
Date: Thu, 9 Jul 2026 10:01:18 +0300	[thread overview]
Message-ID: <20260709070118.GP15188@unreal> (raw)
In-Reply-To: <20260708134003.85505-1-cui.tao@linux.dev>

On Wed, Jul 08, 2026 at 09:40:03PM +0800, Tao Cui wrote:
> From: Tao Cui <cuitao@kylinos.cn>
> 
> Parse the new RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_MAX netlink attribute
> to show resource limits alongside current counts in curr/max format:
> 
>   Before: 0: mlx5_0: qp 123  cq 45  mr 200  pd 10
>   After:  0: mlx5_0: qp 123/131072  cq 45/65536  mr 200/1000000  pd 10/32768
> 
> JSON output provides both current and max fields per resource type
> (e.g. "qp": 123, "qp-max": 131072). Backward compatible: no output
> change when kernel lacks the new attribute.
> 
> Signed-off-by: Tao Cui <cuitao@kylinos.cn>
> Link: https://lore.kernel.org/all/20260615003646.168704-1-cui.tao@linux.dev/
> ---
> Changes in v4:
> - Add Link to the kernel patch that introduces the new uapi attribute.
> ---
>  rdma/include/uapi/rdma/rdma_netlink.h |  5 +++++

Please move changes to rdma_netlink.h into a separate commit using
the following format:
https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/rdma/include/uapi/rdma?id=85860c7dce2ce742ef0c6879b5c5bcbcecaaf717

Thanks

>  rdma/res.c                            | 21 ++++++++++++++++++++-
>  rdma/utils.c                          |  1 +
>  3 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/rdma/include/uapi/rdma/rdma_netlink.h b/rdma/include/uapi/rdma/rdma_netlink.h
> index 4356ec4a..e5b8b065 100644
> --- a/rdma/include/uapi/rdma/rdma_netlink.h
> +++ b/rdma/include/uapi/rdma/rdma_netlink.h
> @@ -604,6 +604,11 @@ enum rdma_nldev_attr {
>  	RDMA_NLDEV_ATTR_FRMR_POOL_PINNED_HANDLES,	/* u32 */
>  	RDMA_NLDEV_ATTR_FRMR_POOL_KEY_KERNEL_VENDOR_KEY,	/* u64 */
>  
> +	/*
> +	 * Resource summary entry maximum value.
> +	 */
> +	RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_MAX,		/* u64 */
> +
>  	/*
>  	 * Always the end
>  	 */
> diff --git a/rdma/res.c b/rdma/res.c
> index 062f0007..046935e2 100644
> --- a/rdma/res.c
> +++ b/rdma/res.c
> @@ -55,7 +55,26 @@ static int res_print_summary(struct nlattr **tb)
>  
>  		name = mnl_attr_get_str(nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME]);
>  		curr = mnl_attr_get_u64(nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR]);
> -		res_print_u64(name, curr, nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR]);
> +		if (nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_MAX]) {
> +			uint64_t max;
> +			char max_name[64];
> +
> +			max = mnl_attr_get_u64(
> +				nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_MAX]);
> +			snprintf(max_name, sizeof(max_name), "%s-max", name);
> +			print_u64(PRINT_JSON, name, NULL, curr);
> +			print_u64(PRINT_JSON, max_name, NULL, max);
> +			if (!is_json_context()) {
> +				char buf[64];
> +
> +				snprintf(buf, sizeof(buf), "%s %" PRIu64 "/%" PRIu64 " ",
> +					 name, curr, max);
> +				pr_out("%s", buf);
> +			}
> +		} else {
> +			res_print_u64(name, curr,
> +				      nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR]);
> +		}
>  	}
>  	return 0;
>  }
> diff --git a/rdma/utils.c b/rdma/utils.c
> index 87003b2c..90ea1c55 100644
> --- a/rdma/utils.c
> +++ b/rdma/utils.c
> @@ -480,6 +480,7 @@ static const enum mnl_attr_data_type nldev_policy[RDMA_NLDEV_ATTR_MAX] = {
>  	[RDMA_NLDEV_ATTR_EVENT_TYPE] = MNL_TYPE_U8,
>  	[RDMA_NLDEV_SYS_ATTR_MONITOR_MODE] = MNL_TYPE_U8,
>  	[RDMA_NLDEV_ATTR_STAT_OPCOUNTER_ENABLED] = MNL_TYPE_U8,
> +	[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_MAX] = MNL_TYPE_U64,
>  };
>  
>  static int rd_attr_check(const struct nlattr *attr, int *typep)
> -- 
> 2.43.0
> 
> 

      reply	other threads:[~2026-07-09  7:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-08 13:40 [PATCH iproute2-next v4] rdma: display resource limits in curr/max format Tao Cui
2026-07-09  7:01 ` Leon Romanovsky [this message]

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=20260709070118.GP15188@unreal \
    --to=leonro@nvidia.com \
    --cc=cui.tao@linux.dev \
    --cc=cuitao@kylinos.cn \
    --cc=dsahern@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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.