Invalid argument is the same error I get from the ioctl that I get (in the diable though). Does the function get called twice in a row? On Sat, Apr 22, 2023 at 2:16 AM Verghis Koshi wrote: > Looks like I have a somewhat similar issue while running basicfwd, not > sure why. The code > is just trying to enable MSI-X interrupts, but perror() says 'Invalid > argument'. > Any thoughts? > > fio_enable_msix(), ../lib/eal/linux/eal_interrupts.c:306, ret -1 > Invalid argument > EAL: Error enabling MSI-X interrupts for fd 19 > Port 0 MAC: 08 00 27 0d 34 ff > > Verghis > > On Fri, Apr 21, 2023 at 2:12 PM Igor de Paula wrote: > >> 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, Apr 21, 2023, 22:06 Stephen Hemminger >> wrote: >> >>> On Fri, 21 Apr 2023 13:39:18 +0100 >>> Igor de Paula 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 >>> 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. >>> >>