[dpdk-dev] [PATCH] vhost: postpone ring addresses translations at kick time only

Maxime Coquelin maxime.coquelin at redhat.com
Fri Nov 3 16:56:42 CET 2017


Hi Lei,

On 11/03/2017 04:52 PM, Maxime Coquelin wrote:
> If multiple queue pairs are created but all are not used, the
> device is never started, as unused queues aren't enabled and
> their ring addresses aren't translated. The device is changed
> to running state when all rings addresses are translated.
> 
> This patch fixes this by postponning rings addresses translation
> at kick time unconditionnaly, VHOST_USER_F_PROTOCOL_FEATURES
> being negotiated or not.
> 
> Reported-by: Lei Yao<lei.a.yao at intel.com>
> Signed-off-by: Maxime Coquelin<maxime.coquelin at redhat.com>
> ---
>   lib/librte_vhost/vhost_user.c | 33 ++++++++-------------------------
>   1 file changed, 8 insertions(+), 25 deletions(-)

Could you confirm the patch fixes the issue on your side?

I tested below cases with and without IOMMU:
- Host DPDK queues = 1 / QEMU queues = 1 / Guest DPDK queues = 1
- Host DPDK queues = 2 / QEMU queues = 2 / Guest DPDK queues = 1
- Host DPDK queues = 2 / QEMU queues = 2 / Guest DPDK queues = 2

Thanks,
Maxime


More information about the dev mailing list