[dpdk-dev] [PATCH 06/12] vhost: register new regions with userfaultfd
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Sep 27 11:37:09 CEST 2018
On 09/26/2018 05:31 PM, Alejandro Lucero wrote:
>
>
> On Wed, Sep 26, 2018 at 8:28 AM Maxime Coquelin
> <maxime.coquelin at redhat.com <mailto:maxime.coquelin at redhat.com>> wrote:
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert at redhat.com
> <mailto:dgilbert at redhat.com>>
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com
> <mailto:maxime.coquelin at redhat.com>>
> ---
> lib/librte_vhost/vhost_user.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/lib/librte_vhost/vhost_user.c
> b/lib/librte_vhost/vhost_user.c
> index d9ef5bca8..cbbfbdf00 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -928,6 +928,28 @@ vhost_user_set_mem_table(struct virtio_net
> **pdev, struct VhostUserMsg *pmsg)
> mmap_size,
> alignment,
> mmap_offset);
> +
> + if (dev->postcopy_listening) {
> + struct uffdio_register reg_struct;
> +
> + reg_struct.range.start =
> (uint64_t)(uintptr_t)mmap_addr;
> + reg_struct.range.len = mmap_size;
> + reg_struct.mode = UFFDIO_REGISTER_MODE_MISSING;
> +
> + if (ioctl(dev->postcopy_ufd, UFFDIO_REGISTER,
> + ®_struct)) {
> + RTE_LOG(ERR, VHOST_CONFIG,
> + "Failed to register
> ufd for region %d: (ufd = %d) %s\n",
> + i, dev->postcopy_ufd,
> + strerror(errno));
> + continue;
>
>
> is it not a registration error a serious problem for supporting
> migration properly?
Yes it is, I missed to fix that.
Thanks for reporting it.
Maxime
> + }
> + RTE_LOG(INFO, VHOST_CONFIG,
> + "\t userfaultfd registered
> for range : %llx - %llx\n",
> + reg_struct.range.start,
> + reg_struct.range.start +
> + reg_struct.range.len - 1);
> + }
> }
>
> for (i = 0; i < dev->nr_vring; i++) {
> --
> 2.17.1
>
More information about the dev
mailing list