Subject: Re: [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command

From: Leon Romanovsky <[email-masked]>
Date: Wed, 28 Apr 2021 15:00:45 +0300

On Wed, Apr 28, 2021 at 02:42:31PM +0300, Gal Pressman wrote:
> The new attribute indicates that the kernel copies DMA pages on fork,
> hence fork support through madvise and MADV_DONTFORK is not needed.
> 
> If the attribute is not reported (expected on older kernels),
> copy-on-fork is disabled.
> 
> Example:
> $ rdma sys
> netns shared
> copy-on-fork on

I don't think that we need to print them on separate lines.
$ rdma sys
netns shared copy-on-fork on
> 
> Signed-off-by: Gal Pressman <[email-masked]>
> ---
>  rdma/sys.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/rdma/sys.c b/rdma/sys.c
> index 8fb565d70598..dd9c6da33e2a 100644
> --- a/rdma/sys.c
> +++ b/rdma/sys.c
> @@ -38,6 +38,15 @@ static int sys_show_parse_cb(const struct nlmsghdr *nlh, void *data)
>  		print_color_string(PRINT_ANY, COLOR_NONE, "netns", "netns %s\n",
>  				   mode_str);
>  	}
> +
> +	if (tb[RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK])
> +		print_color_on_off(PRINT_ANY, COLOR_NONE, "copy-on-fork",
> +				   "copy-on-fork %s\n",
> +				   mnl_attr_get_u8(tb[RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK]));
> +	else
> +		print_color_on_off(PRINT_ANY, COLOR_NONE, "copy-on-fork",
> +				   "copy-on-fork %s\n", false);

Let's simplify it
        bool cow = false;

 +	if (tb[RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK])
 +		cow = mnl_attr_get_u8(tb[RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK]);
 +
 +	print_color_on_off(PRINT_ANY, COLOR_NONE, "copy-on-fork", "copy-on-fork %s", cow);

> +
>  	return MNL_CB_OK;
>  }
> -- 
> 2.31.1