<div dir="ltr">Invalid argument is the same error I get from the ioctl that I get (in the diable though).<br>Does the function get called twice in a row?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 22, 2023 at 2:16 AM Verghis Koshi <<a href="mailto:vkoshi@gmail.com">vkoshi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>    Looks like I have a somewhat similar issue while running basicfwd, not sure why.  The code</div><div>is just trying to enable MSI-X interrupts, but perror() says 'Invalid argument'.</div><div>    Any thoughts?</div><div><br></div><div><span style="font-family:monospace"><font size="4">fio_enable_msix(), ../lib/eal/linux/eal_interrupts.c:306, ret -1<br><Snip> Invalid argument<br>EAL: Error enabling MSI-X interrupts for fd 19<br>Port 0 MAC: 08 00 27 0d 34 ff</font></span></div><div><br></div><div>Verghis<br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 21, 2023 at 2:12 PM Igor de Paula <<a href="mailto:igordptx@gmail.com" target="_blank">igordptx@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>I am enabling lsc interrupts.</div><div dir="auto">I don't  explicitly start/stop the queues.</div><div dir="auto">Should I call link up/down before the start/stop? From the doc I saw it shuts down the queues.</div><div dir="auto">From what I saw it calls the msix disable function in the start and the stop functions. In the second time it seem to cause the error.</div><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Fri, Apr 21, 2023, 22:06 Stephen Hemminger <<a href="mailto:stephen@networkplumber.org" target="_blank">stephen@networkplumber.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 21 Apr 2023 13:39:18 +0100<br>
Igor de Paula <<a href="mailto:igordptx@gmail.com" rel="noreferrer" target="_blank">igordptx@gmail.com</a>> wrote:<br>
> From what I can tell, dpdk calles the function  vfio_disable_msix  in the<br>
> stop and start function. The reason it does not happen in start up is that<br>
> I don't call stop before.<br>
> Calling stop and then start calls the function twice. Which maybe shouldn't<br>
> happen... Is it a bug?<br>
> <br>
> On Thu, Apr 20, 2023 at 12:33 PM Igor de Paula <<a href="mailto:igordptx@gmail.com" rel="noreferrer" target="_blank">igordptx@gmail.com</a>> wrote:<br>
> <br>
> > Hi,<br>
> > I am having trouble with restarting a HW port allocated to DPDK.<br>
> > I am running the DPDK version: 21.08.0 and Ubuntu 20.04.3 LTS.<br>
> > The driver is : net_e100igb<br>
> > After I start the port with no issues I try to call rte_eth_dev_stop to<br>
> > stop it.<br>
> > When I am ready I call rte_eth_dev_start to start it again an I get the<br>
> > following message:<br>
> > EAL: Error disabling MSI-X interrupts for fd 46.<br>
> > I am not sure what this error is coming from and what it causes.<br>
> > I found little information online. If someone could explain, I would<br>
> > really appreciate it.<br>
> > This is a copy print on setup with no issues:<br>
> > 2023-04-20 11:09:51.703542:     Driver: net_e1000_igb<br>
> > 2023-04-20 11:09:51.703546:     Bus Id: 0000:01:00.0<br>
> > 2023-04-20 11:09:51.703551:     rx offload cap: 280e (92e0f)<br>
> > 2023-04-20 11:09:51.703555:     tx offload cap: 8002 (803f)<br>
> > 2023-04-20 11:09:51.703559:     NUMA Socket: 0<br>
> > 2023-04-20 11:09:51.703563:     MAC Address: b4:96:91:63:62:40<br>
> > 2023-04-20 11:09:51.703568:     Max Rx Queue: 8<br>
> > 2023-04-20 11:09:51.703572:     Max Tx Queue: 8<br>
> > 2023-04-20 11:09:51.703577:     Max Rx Descriptors: 4096<br>
> > 2023-04-20 11:09:51.703581:     Max Tx Descriptors: 4096<br>
> > 2023-04-20 11:09:51.703585:     Max Rx Packet Length: 16383<br>
> > 2023-04-20 11:09:51.703589:     Available Link Speeds: 10Mb/s 100Mb/s 1Gb/s<br>
> > 2023-04-20 11:09:51.703608:     Fixed Link Speed: Auto<br>
> > 2023-04-20 11:09:51.703616:     Fixed Duplex: Auto<br>
> > 2023-04-20 11:09:51.703623:     MTU Set to: 16383<br>
> > 2023-04-20 11:09:51.703632:     Actual Rx Descriptors: 4096<br>
> > 2023-04-20 11:09:51.703636:     Actual Tx Descriptors: 4096<br>
> > 2023-04-20 11:09:51.703695:     Set up 1 send queues<br>
> > 2023-04-20 11:09:51.703700:     Actual MTU: 16383<br>
> > 2023-04-20 11:09:51.703704:     Actual Linkspeed: 0<br>
> > 2023-04-20 11:09:51.703708:     Actual duplex: 0<br>
> > 2023-04-20 11:09:51.703713:     Successfully set port interrupt event<br>
> > 2023-04-20 11:09:51.818085:     Flow control turned off for Port 0<br>
> > 2023-04-20 11:09:51.844179:     Port 0 up and running<br>
> > 2023-04-20 11:09:51.844303: Event type: LSC interrupt<br>
> > 2023-04-20 11:09:51.844382:     Port 0 Link Down<br>
> ><br>
> > And after I stop and start:<br>
> > 2023-04-20 11:11:00.492428:     Driver: net_e1000_igb<br>
> > 2023-04-20 11:11:00.492476:     Bus Id: 0000:01:00.0<br>
> > 2023-04-20 11:11:00.492526:     rx offload cap: 280e (92e0f)<br>
> > 2023-04-20 11:11:00.492576:     tx offload cap: 8002 (803f)<br>
> > 2023-04-20 11:11:00.492624:     NUMA Socket: 0<br>
> > 2023-04-20 11:11:00.492672:     MAC Address: b4:96:91:63:62:40<br>
> > 2023-04-20 11:11:00.492721:     Max Rx Queue: 8<br>
> > 2023-04-20 11:11:00.492770:     Max Tx Queue: 8<br>
> > 2023-04-20 11:11:00.492813:     Max Rx Descriptors: 4096<br>
> > 2023-04-20 11:11:00.492851:     Max Tx Descriptors: 4096<br>
> > 2023-04-20 11:11:00.492889:     Max Rx Packet Length: 16383<br>
> > 2023-04-20 11:11:00.492958:     Available Link Speeds: 10Mb/s 100Mb/s 1Gb/s<br>
> > 2023-04-20 11:11:00.493207:     Fixed Link Speed: Auto<br>
> > 2023-04-20 11:11:00.493301:     Fixed Duplex: Full<br>
> > 2023-04-20 11:11:00.493822:     MTU Set to: 16383<br>
> > 2023-04-20 11:11:00.493889:     Actual Rx Descriptors: 4096<br>
> > 2023-04-20 11:11:00.493936:     Actual Tx Descriptors: 4096<br>
> > 2023-04-20 11:11:00.494190:     Actual MTU: 16383<br>
> > 2023-04-20 11:11:00.494229:     Actual Linkspeed: 0<br>
> > 2023-04-20 11:11:00.494266:     Actual duplex: 1<br>
> > 2023-04-20 11:11:00.494305:     Successfully set port interrupt event<br>
> > *EAL: Error disabling MSI-X interrupts for fd 46*<br>
> > 2023-04-20 11:11:00.603181:     Flow control turned off for Port 0<br>
> > 2023-04-20 11:11:00.629151:     Port 0 up and running<br>
> > 2023-04-20 11:11:00.629222: Event type: LSC interrupt<br>
> > 2023-04-20 11:11:00.629273:     Port 0 Link Down<br>
> ><br>
> ><br>
> > Thanks,<br>
> > Igor<br>
<br>
Are you using Link State (LSC) or receive interrupts?<br>
Did you start/stop the tx and rx queues. Could be a device bug where<br>
it assumes all queues were stopped.<br>
<br>
Also check kernel dmesg output; VFIO might print an error message there.<br>
</blockquote></div></div></div>
</blockquote></div>
</blockquote></div>