From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id B6936B0BE for ; Tue, 17 Jun 2014 00:30:43 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 16 Jun 2014 15:25:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.01,489,1400050800"; d="scan'208";a="529463676" Received: from irsmsx102.ger.corp.intel.com ([163.33.3.155]) by orsmga001.jf.intel.com with ESMTP; 16 Jun 2014 15:30:58 -0700 Received: from irsmsx153.ger.corp.intel.com (163.33.192.75) by IRSMSX102.ger.corp.intel.com (163.33.3.155) with Microsoft SMTP Server (TLS) id 14.3.123.3; Mon, 16 Jun 2014 23:30:57 +0100 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.58]) by IRSMSX153.ger.corp.intel.com ([169.254.9.252]) with mapi id 14.03.0123.003; Mon, 16 Jun 2014 23:30:54 +0100 From: "Richardson, Bruce" To: "dev@dpdk.org" Thread-Topic: [PATCH] vfio: make container open error non-fatal Thread-Index: AQHPibJrptGjPQIyl0q8LYsiSadHgZt0UaRw Date: Mon, 16 Jun 2014 22:30:54 +0000 Message-ID: <59AF69C657FD0841A61C55336867B5B01AA36B94@IRSMSX103.ger.corp.intel.com> References: <1402957745-31967-1-git-send-email-bruce.richardson@intel.com> In-Reply-To: <1402957745-31967-1-git-send-email-bruce.richardson@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] vfio: make container open error non-fatal X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jun 2014 22:30:44 -0000 The below patch is the quickest fix I found to make my applications work ag= ain, but I'm not sure it's the best solution. Can anyone else offer other s= uggestions to improve this? > -----Original Message----- > From: Richardson, Bruce > Sent: Monday, June 16, 2014 3:29 PM > To: dev@dpdk.org > Cc: Richardson, Bruce > Subject: [PATCH] vfio: make container open error non-fatal >=20 > When setting up an app to run using the uio driver, errors caused by > VFIO failures should not abruptly cause the app to fail. >=20 > Example: on a board with 8 ports bound to igb_uio module, and no VFIO > configuration, a testpmd run currently fails with: >=20 > EAL: cannot open VFIO container! > EAL: 0000:04:00.0 cannot open VFIO container! > EAL: Error - exiting with code: 1 > Cause: Requested device 0000:04:00.0 cannot be used >=20 > With this patch applied, the problem with VFIO is ignored and testpmd > successfully starts up - with ignored errors with vfio - as below: >=20 > EAL: PCI device 0000:04:00.0 on NUMA socket 0 > EAL: probe driver: 8086:1521 rte_igb_pmd > EAL: unknown IOMMU driver! > EAL: 0000:04:00.0 cannot open VFIO container! > EAL: 0000:04:00.0 not managed by UIO driver, skipping > <...scan results for other ports skipped...> > EAL: PCI device 0000:8e:00.0 on NUMA socket 1 > EAL: probe driver: 8086:154a rte_ixgbe_pmd > EAL: unknown IOMMU driver! > EAL: 0000:8e:00.0 cannot open VFIO container! > EAL: PCI memory mapped at 0x7ff4ff5fa000 > EAL: PCI memory mapped at 0x7ff4ff5f6000 > EAL: PCI device 0000:8e:00.1 on NUMA socket 1 > EAL: probe driver: 8086:154a rte_ixgbe_pmd > EAL: unknown IOMMU driver! > EAL: 0000:8e:00.1 cannot open VFIO container! > EAL: PCI memory mapped at 0x7ff4ff4f6000 > EAL: PCI memory mapped at 0x7ff4ff4f2000 > Interactive-mode selected > Configuring Port 0 (socket 0) > <...other 7 ports ...> > Checking link statuses... > Port 0 Link Up - speed 10000 Mbps - full-duplex > Port 1 Link Down > Port 2 Link Up - speed 10000 Mbps - full-duplex > Port 3 Link Down > Port 4 Link Up - speed 10000 Mbps - full-duplex > Port 5 Link Down > Port 6 Link Up - speed 10000 Mbps - full-duplex > Port 7 Link Down > Done > testpmd> >=20 > This issue is introduced by the VFIO patch set addition, specifically > commit ff0b67d1. >=20 > Signed-off-by: Bruce Richardson > --- > lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > index 4de6061..4af38f6 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > +++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > @@ -528,7 +528,7 @@ pci_vfio_map_resource(struct rte_pci_device *dev) > int vfio_container_fd =3D pci_vfio_get_container_fd(); > if (vfio_container_fd < 0) { > RTE_LOG(ERR, EAL, " %s cannot open VFIO > container!\n", pci_addr); > - return -1; > + return 1; > } >=20 > vfio_cfg.vfio_container_fd =3D vfio_container_fd; > -- > 1.9.3