I am enabling lsc interrupts.
I don't explicitly start/stop the queues.
Should I call link up/down before the start/stop? From the doc I saw it shuts down the queues.
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.
On Fri, 21 Apr 2023 13:39:18 +0100
Igor de Paula <igordptx@gmail.com> wrote:
> From what I can tell, dpdk calles the function vfio_disable_msix in the
> stop and start function. The reason it does not happen in start up is that
> I don't call stop before.
> Calling stop and then start calls the function twice. Which maybe shouldn't
> happen... Is it a bug?
>
> On Thu, Apr 20, 2023 at 12:33 PM Igor de Paula <igordptx@gmail.com> wrote:
>
> > Hi,
> > I am having trouble with restarting a HW port allocated to DPDK.
> > I am running the DPDK version: 21.08.0 and Ubuntu 20.04.3 LTS.
> > The driver is : net_e100igb
> > After I start the port with no issues I try to call rte_eth_dev_stop to
> > stop it.
> > When I am ready I call rte_eth_dev_start to start it again an I get the
> > following message:
> > EAL: Error disabling MSI-X interrupts for fd 46.
> > I am not sure what this error is coming from and what it causes.
> > I found little information online. If someone could explain, I would
> > really appreciate it.
> > This is a copy print on setup with no issues:
> > 2023-04-20 11:09:51.703542: Driver: net_e1000_igb
> > 2023-04-20 11:09:51.703546: Bus Id: 0000:01:00.0
> > 2023-04-20 11:09:51.703551: rx offload cap: 280e (92e0f)
> > 2023-04-20 11:09:51.703555: tx offload cap: 8002 (803f)
> > 2023-04-20 11:09:51.703559: NUMA Socket: 0
> > 2023-04-20 11:09:51.703563: MAC Address: b4:96:91:63:62:40
> > 2023-04-20 11:09:51.703568: Max Rx Queue: 8
> > 2023-04-20 11:09:51.703572: Max Tx Queue: 8
> > 2023-04-20 11:09:51.703577: Max Rx Descriptors: 4096
> > 2023-04-20 11:09:51.703581: Max Tx Descriptors: 4096
> > 2023-04-20 11:09:51.703585: Max Rx Packet Length: 16383
> > 2023-04-20 11:09:51.703589: Available Link Speeds: 10Mb/s 100Mb/s 1Gb/s
> > 2023-04-20 11:09:51.703608: Fixed Link Speed: Auto
> > 2023-04-20 11:09:51.703616: Fixed Duplex: Auto
> > 2023-04-20 11:09:51.703623: MTU Set to: 16383
> > 2023-04-20 11:09:51.703632: Actual Rx Descriptors: 4096
> > 2023-04-20 11:09:51.703636: Actual Tx Descriptors: 4096
> > 2023-04-20 11:09:51.703695: Set up 1 send queues
> > 2023-04-20 11:09:51.703700: Actual MTU: 16383
> > 2023-04-20 11:09:51.703704: Actual Linkspeed: 0
> > 2023-04-20 11:09:51.703708: Actual duplex: 0
> > 2023-04-20 11:09:51.703713: Successfully set port interrupt event
> > 2023-04-20 11:09:51.818085: Flow control turned off for Port 0
> > 2023-04-20 11:09:51.844179: Port 0 up and running
> > 2023-04-20 11:09:51.844303: Event type: LSC interrupt
> > 2023-04-20 11:09:51.844382: Port 0 Link Down
> >
> > And after I stop and start:
> > 2023-04-20 11:11:00.492428: Driver: net_e1000_igb
> > 2023-04-20 11:11:00.492476: Bus Id: 0000:01:00.0
> > 2023-04-20 11:11:00.492526: rx offload cap: 280e (92e0f)
> > 2023-04-20 11:11:00.492576: tx offload cap: 8002 (803f)
> > 2023-04-20 11:11:00.492624: NUMA Socket: 0
> > 2023-04-20 11:11:00.492672: MAC Address: b4:96:91:63:62:40
> > 2023-04-20 11:11:00.492721: Max Rx Queue: 8
> > 2023-04-20 11:11:00.492770: Max Tx Queue: 8
> > 2023-04-20 11:11:00.492813: Max Rx Descriptors: 4096
> > 2023-04-20 11:11:00.492851: Max Tx Descriptors: 4096
> > 2023-04-20 11:11:00.492889: Max Rx Packet Length: 16383
> > 2023-04-20 11:11:00.492958: Available Link Speeds: 10Mb/s 100Mb/s 1Gb/s
> > 2023-04-20 11:11:00.493207: Fixed Link Speed: Auto
> > 2023-04-20 11:11:00.493301: Fixed Duplex: Full
> > 2023-04-20 11:11:00.493822: MTU Set to: 16383
> > 2023-04-20 11:11:00.493889: Actual Rx Descriptors: 4096
> > 2023-04-20 11:11:00.493936: Actual Tx Descriptors: 4096
> > 2023-04-20 11:11:00.494190: Actual MTU: 16383
> > 2023-04-20 11:11:00.494229: Actual Linkspeed: 0
> > 2023-04-20 11:11:00.494266: Actual duplex: 1
> > 2023-04-20 11:11:00.494305: Successfully set port interrupt event
> > *EAL: Error disabling MSI-X interrupts for fd 46*
> > 2023-04-20 11:11:00.603181: Flow control turned off for Port 0
> > 2023-04-20 11:11:00.629151: Port 0 up and running
> > 2023-04-20 11:11:00.629222: Event type: LSC interrupt
> > 2023-04-20 11:11:00.629273: Port 0 Link Down
> >
> >
> > Thanks,
> > Igor
Are you using Link State (LSC) or receive interrupts?
Did you start/stop the tx and rx queues. Could be a device bug where
it assumes all queues were stopped.
Also check kernel dmesg output; VFIO might print an error message there.