]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/nldev: Add copy-on-fork attribute to get sys command
authorGal Pressman <galpress@amazon.com>
Sun, 18 Apr 2021 12:10:25 +0000 (15:10 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 27 Apr 2021 18:33:20 +0000 (15:33 -0300)
commit86b7c572518b4a5def48ccac7ba7db8c29c5c8dc
treee6c1fe58ae43e5a4e4d95a299a8abb123593194e
parentf40cc95f974aea4cb5a17d0cf4557b24ee1e621f
RDMA/nldev: Add copy-on-fork attribute to get sys command

The new attribute indicates that the kernel copies DMA pages on fork,
hence libibverbs' fork support through madvise and MADV_DONTFORK is not
needed.

The introduced attribute is always reported as supported since the kernel
has the patch that added the copy-on-fork behavior. This allows the
userspace library to identify older vs newer kernel versions.  Extra care
should be taken when backporting this patch as it relies on the fact that
the copy-on-fork patch is merged, hence no check for support is added.

Don't backport this patch unless you also have the following series:
commit 94595b28f8de ("mm: Do early cow for pinned pages during fork() for
ptes") and commit 531a8f44d610 ("hugetlb: do early cow when page pinned on
src mm").

Fixes: 94595b28f8de ("mm: Do early cow for pinned pages during fork() for ptes")
Fixes: 531a8f44d610 ("hugetlb: do early cow when page pinned on src mm")
Link: https://lore.kernel.org/r/20210418121025.66849-1-galpress@amazon.com
Signed-off-by: Gal Pressman <galpress@amazon.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/nldev.c
include/uapi/rdma/rdma_netlink.h