* [PATCH iproute2-next 0/2] Add copy-on-fork to get sys command
@ 2021-04-28 11:42 Gal Pressman
2021-04-28 11:42 ` [PATCH iproute2-next 1/2] rdma: update uapi headers Gal Pressman
2021-04-28 11:42 ` [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command Gal Pressman
0 siblings, 2 replies; 7+ messages in thread
From: Gal Pressman @ 2021-04-28 11:42 UTC (permalink / raw)
To: David Ahern
Cc: linux-rdma, netdev, Yossi Leybovich, Alexander Matushevsky,
Leon Romanovsky, Jason Gunthorpe, Gal Pressman
This is the userspace part for the new copy-on-fork attribute added to
the get sys netlink command.
The new attribute indicates that the kernel copies DMA pages on fork,
hence fork support through madvise and MADV_DONTFORK is not needed.
Kernel series was merged:
https://lore.kernel.org/linux-rdma/20210418121025.66849-1-galpress@amazon.com/
Thanks
Gal Pressman (2):
rdma: update uapi headers
rdma: Add copy-on-fork to get sys command
rdma/include/uapi/rdma/rdma_netlink.h | 16 ++++++++++++++++
rdma/sys.c | 9 +++++++++
2 files changed, 25 insertions(+)
--
2.31.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH iproute2-next 1/2] rdma: update uapi headers
2021-04-28 11:42 [PATCH iproute2-next 0/2] Add copy-on-fork to get sys command Gal Pressman
@ 2021-04-28 11:42 ` Gal Pressman
2021-04-28 11:42 ` [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command Gal Pressman
1 sibling, 0 replies; 7+ messages in thread
From: Gal Pressman @ 2021-04-28 11:42 UTC (permalink / raw)
To: David Ahern
Cc: linux-rdma, netdev, Yossi Leybovich, Alexander Matushevsky,
Leon Romanovsky, Jason Gunthorpe, Gal Pressman
Update rdma_netlink.h file upto kernel commit
6cc9e215eb27 ("RDMA/nldev: Add copy-on-fork attribute to get sys command")
Signed-off-by: Gal Pressman <galpress@amazon.com>
---
rdma/include/uapi/rdma/rdma_netlink.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/rdma/include/uapi/rdma/rdma_netlink.h b/rdma/include/uapi/rdma/rdma_netlink.h
index 4aef76ae317b..37f583ee58fc 100644
--- a/rdma/include/uapi/rdma/rdma_netlink.h
+++ b/rdma/include/uapi/rdma/rdma_netlink.h
@@ -293,6 +293,10 @@ enum rdma_nldev_command {
RDMA_NLDEV_CMD_RES_MR_GET_RAW,
+ RDMA_NLDEV_CMD_RES_CTX_GET, /* can dump */
+
+ RDMA_NLDEV_CMD_RES_SRQ_GET, /* can dump */
+
RDMA_NLDEV_NUM_OPS
};
@@ -533,6 +537,18 @@ enum rdma_nldev_attr {
RDMA_NLDEV_ATTR_RES_RAW, /* binary */
+ RDMA_NLDEV_ATTR_RES_CTX, /* nested table */
+ RDMA_NLDEV_ATTR_RES_CTX_ENTRY, /* nested table */
+
+ RDMA_NLDEV_ATTR_RES_SRQ, /* nested table */
+ RDMA_NLDEV_ATTR_RES_SRQ_ENTRY, /* nested table */
+ RDMA_NLDEV_ATTR_RES_SRQN, /* u32 */
+
+ RDMA_NLDEV_ATTR_MIN_RANGE, /* u32 */
+ RDMA_NLDEV_ATTR_MAX_RANGE, /* u32 */
+
+ RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK, /* u8 */
+
/*
* Always the end
*/
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command
2021-04-28 11:42 [PATCH iproute2-next 0/2] Add copy-on-fork to get sys command Gal Pressman
2021-04-28 11:42 ` [PATCH iproute2-next 1/2] rdma: update uapi headers Gal Pressman
@ 2021-04-28 11:42 ` Gal Pressman
2021-04-28 12:00 ` Leon Romanovsky
1 sibling, 1 reply; 7+ messages in thread
From: Gal Pressman @ 2021-04-28 11:42 UTC (permalink / raw)
To: David Ahern
Cc: linux-rdma, netdev, Yossi Leybovich, Alexander Matushevsky,
Leon Romanovsky, Jason Gunthorpe, Gal Pressman
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
Signed-off-by: Gal Pressman <galpress@amazon.com>
---
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);
+
return MNL_CB_OK;
}
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command
2021-04-28 11:42 ` [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command Gal Pressman
@ 2021-04-28 12:00 ` Leon Romanovsky
2021-04-29 6:40 ` Gal Pressman
0 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2021-04-28 12:00 UTC (permalink / raw)
To: Gal Pressman
Cc: David Ahern, linux-rdma, netdev, Yossi Leybovich,
Alexander Matushevsky, Jason Gunthorpe
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 <galpress@amazon.com>
> ---
> 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
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command
2021-04-28 12:00 ` Leon Romanovsky
@ 2021-04-29 6:40 ` Gal Pressman
0 siblings, 0 replies; 7+ messages in thread
From: Gal Pressman @ 2021-04-29 6:40 UTC (permalink / raw)
To: Leon Romanovsky
Cc: David Ahern, linux-rdma, netdev, Yossi Leybovich,
Alexander Matushevsky, Jason Gunthorpe
On 28/04/2021 15:00, Leon Romanovsky wrote:
> 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
Ack.
>> Signed-off-by: Gal Pressman <galpress@amazon.com>
>> ---
>> 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);
Ack (changed cow -> cof).
Thanks
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH iproute2-next 1/2] rdma: Update uapi headers
2023-10-07 3:58 ` [PATCH iproute2-next 1/2] rdma: Update uapi headers Junxian Huang
@ 2023-10-09 8:44 ` Leon Romanovsky
0 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2023-10-09 8:44 UTC (permalink / raw)
To: Junxian Huang
Cc: jgg, dsahern, stephen, netdev, linux-rdma, linuxarm, linux-kernel
On Sat, Oct 07, 2023 at 11:58:54AM +0800, Junxian Huang wrote:
> Update rdma_netlink.h file upto kernel commit aebf8145e11a
> ("RDMA/core: Add support to dump SRQ resource in RAW format")
>
> Signed-off-by: wenglianfa <wenglianfa@huawei.com>
> Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
> ---
> rdma/include/uapi/rdma/rdma_netlink.h | 2 ++
> 1 file changed, 2 insertions(+)
>
Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH iproute2-next 1/2] rdma: Update uapi headers
2023-10-07 3:58 [PATCH iproute2-next 0/2] rdma: Support dumping SRQ resource in raw format Junxian Huang
@ 2023-10-07 3:58 ` Junxian Huang
2023-10-09 8:44 ` Leon Romanovsky
0 siblings, 1 reply; 7+ messages in thread
From: Junxian Huang @ 2023-10-07 3:58 UTC (permalink / raw)
To: jgg, leon, dsahern, stephen
Cc: netdev, linux-rdma, linuxarm, linux-kernel, huangjunxian6
Update rdma_netlink.h file upto kernel commit aebf8145e11a
("RDMA/core: Add support to dump SRQ resource in RAW format")
Signed-off-by: wenglianfa <wenglianfa@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
---
rdma/include/uapi/rdma/rdma_netlink.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/rdma/include/uapi/rdma/rdma_netlink.h b/rdma/include/uapi/rdma/rdma_netlink.h
index 92c528a0..84f775be 100644
--- a/rdma/include/uapi/rdma/rdma_netlink.h
+++ b/rdma/include/uapi/rdma/rdma_netlink.h
@@ -299,6 +299,8 @@ enum rdma_nldev_command {
RDMA_NLDEV_CMD_STAT_GET_STATUS,
+ RDMA_NLDEV_CMD_RES_SRQ_GET_RAW,
+
RDMA_NLDEV_NUM_OPS
};
--
2.30.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-10-09 8:44 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-28 11:42 [PATCH iproute2-next 0/2] Add copy-on-fork to get sys command Gal Pressman
2021-04-28 11:42 ` [PATCH iproute2-next 1/2] rdma: update uapi headers Gal Pressman
2021-04-28 11:42 ` [PATCH iproute2-next 2/2] rdma: Add copy-on-fork to get sys command Gal Pressman
2021-04-28 12:00 ` Leon Romanovsky
2021-04-29 6:40 ` Gal Pressman
2023-10-07 3:58 [PATCH iproute2-next 0/2] rdma: Support dumping SRQ resource in raw format Junxian Huang
2023-10-07 3:58 ` [PATCH iproute2-next 1/2] rdma: Update uapi headers Junxian Huang
2023-10-09 8:44 ` Leon Romanovsky
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).