Re: [PATCH rdma-next v7 7/8] RDMA/nldev: Provide global resource utilization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jan 28, 2018 at 11:17:24AM +0200, Leon Romanovsky wrote:

> @@ -52,6 +54,11 @@ static const struct nla_policy nldev_policy[RDMA_NLDEV_ATTR_MAX] = {
>  	[RDMA_NLDEV_ATTR_PORT_STATE]	= { .type = NLA_U8 },
>  	[RDMA_NLDEV_ATTR_PORT_PHYS_STATE] = { .type = NLA_U8 },
>  	[RDMA_NLDEV_ATTR_DEV_NODE_TYPE] = { .type = NLA_U8 },
> +	[RDMA_NLDEV_ATTR_RES_SUMMARY]	= { .type = NLA_NESTED },
> +	[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY]	= { .type = NLA_NESTED },
> +	[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME] = { .type = NLA_NUL_STRING,
> +					     .len = 16 },
> +	[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR] = { .type = NLA_U64 },

nla_policy is only used during kernel parsing, it shouldn't have
anything the kernel will not accept as input, right? ie it should omit
things that are output only?

>  static const struct rdma_nl_cbs nldev_cb_table[RDMA_NLDEV_NUM_OPS] = {
>  	[RDMA_NLDEV_CMD_GET] = {
>  		.doit = nldev_get_doit,
> @@ -338,6 +485,10 @@ static const struct rdma_nl_cbs nldev_cb_table[RDMA_NLDEV_NUM_OPS] = {
>  		.doit = nldev_port_get_doit,
>  		.dump = nldev_port_get_dumpit,
>  	},
> +	[RDMA_NLDEV_CMD_RES_GET] = {
> +		.doit = nldev_res_get_doit,
> +		.dump = nldev_res_get_dumpit,
> +	},
>  };
>  
>  void __init nldev_init(void)
> diff --git a/include/uapi/rdma/rdma_netlink.h b/include/uapi/rdma/rdma_netlink.h
> index cc002e316d09..e0f5cdc81541 100644
> +++ b/include/uapi/rdma/rdma_netlink.h
> @@ -236,6 +236,11 @@ enum rdma_nldev_command {
>  	RDMA_NLDEV_CMD_PORT_NEW,
>  	RDMA_NLDEV_CMD_PORT_DEL,
>  
> +	RDMA_NLDEV_CMD_RES_GET, /* can dump */
> +	RDMA_NLDEV_CMD_RES_SET,
> +	RDMA_NLDEV_CMD_RES_NEW,
> +	RDMA_NLDEV_CMD_RES_DEL,

Confused why all thse have get/set/new/del tuples and then don't
implement all of them. Is there some reason for this?

AFAIK netlink doesn't have any rules for numbering get/set/new/del, so
why can't we just add when we need?

> @@ -303,6 +308,11 @@ enum rdma_nldev_attr {
>  
>  	RDMA_NLDEV_ATTR_DEV_NODE_TYPE,		/* u8 */
>  
> +	RDMA_NLDEV_ATTR_RES_SUMMARY,		/* nested table */
> +	RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY,	/* nested table */
> +	RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME,	/* string */
> +	RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR,	/* u64 */

Had to look it up to figure out what CURR was..

ENTRY_NUM_OBJECTS ?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux