vhost: fix long stall of negotiation
Setting up the mapping from GPA (guest physical address) to HPA (guest physical address) could be very time consuming when the guest memory is backened with small pages (4K). The bigger the guest memory, the longer it takes. This could lead a very long vhost-user negotiation. Since the mapping is only needed in zero copy mode so far, we could avoid such time consuming settup when zero copy is turned off (which is the default case). It's actually a workaround, a right fix might be to start a new thread, and hide the big latency there. Fixes: e246896178e6 ("vhost: get guest/host physical address mappings") Cc: stable@dpdk.org Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
parent
cc7301908c
commit
b8b992e93f
@ -567,7 +567,8 @@ vhost_user_set_mem_table(struct virtio_net *dev, struct VhostUserMsg *pmsg)
|
||||
reg->host_user_addr = (uint64_t)(uintptr_t)mmap_addr +
|
||||
mmap_offset;
|
||||
|
||||
add_guest_pages(dev, reg, alignment);
|
||||
if (dev->dequeue_zero_copy)
|
||||
add_guest_pages(dev, reg, alignment);
|
||||
|
||||
RTE_LOG(INFO, VHOST_CONFIG,
|
||||
"guest memory region %u, size: 0x%" PRIx64 "\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user