[dpdk-users] Hyper-V multi-queue not working on Kernel v4.20
gareth at vectra.ai
Wed Dec 5 18:10:15 CET 2018
Thanks for coming back to me Stephen. I found the thread you mentioned and will keep an eye on it. I'm happy to help out with testing the change.
From: Stephen Hemminger <stephen at networkplumber.org>
Sent: Wednesday 5 December 2018 16:04
To: Gareth Bradshaw <gareth at vectra.ai>
Cc: users at dpdk.org
Subject: Re: [dpdk-users] Hyper-V multi-queue not working on Kernel v4.20
On Wed, 5 Dec 2018 11:05:58 +0000
Gareth Bradshaw <gareth at vectra.ai> wrote:
> I'm developing a DPDK application for Hyper-V and would like to use Kernel v4.20 as it fixes a crash in previous kernels (per this pull request<https://github.com/torvalds/linux/commit/cdfa835c6e5e87d145f9f632b58843de97509f2b>) but multi-queue support seems to have broken in that kernel. It works in kernels 4.17, 4.18 and 4.19.
> Using testpmd with parameters "--forward-mode=txonly --nb-cores=3 --txq=3 --rxq=3" I get the following error "vmbus_uio_get_subchan(): invalid subchannel id 0".
> Tracing the code a bit I find that it's trying to read /sys/bus/devices/<devid>/channels/21/subchannel_id but when I try to cat the same file I get the error "Invalid argument". I've compared to previous kernel versions and see the following differences:
> * When the VM boots, the device is bound to the kernel driver and there are 4 channels on both kernel versions. It's a 4 core VM.
> * When I bind the device to uio_hv_generic, kernel v.19.5 (and previous) has a single channel and it has a valid subchannel_id. On kernel 4.20 the 4 channel folders remain but they are all invalid.
> * When I start testpmd with 3 queues, on kernel v4.19.5 two additional channels are created, they're valid and testpmd works as expected. On kernel 4.20 the 4 invalid channels remain invalid and testpmd gives the error I mentioned.
> Any help getting this working would be greatly appreciated.
There is a race that shows up in sub channel initialization, it is being worked on the development mailing list. No resolution yet.
More information about the users