On Wed, 5 Dec 2018 11:05:58 +0000
Gareth Bradshaw <gar...@vectra.ai> wrote:

> Hi,
> 
> 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.
> 
> Thanks
> Gareth
> 
> 
> 
> 
> 
> 

There is a race that shows up in sub channel initialization, it is being worked 
on the development
mailing list. No resolution yet.

Reply via email to