From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id CF58F1B26E for ; Thu, 9 Nov 2017 03:12:57 +0100 (CET) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2017 18:12:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,367,1505804400"; d="scan'208";a="174050833" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga006.fm.intel.com with ESMTP; 08 Nov 2017 18:12:56 -0800 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 8 Nov 2017 18:12:56 -0800 Received: from bgsmsx152.gar.corp.intel.com (10.224.48.50) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 8 Nov 2017 18:12:53 -0800 Received: from bgsmsx101.gar.corp.intel.com ([169.254.1.245]) by BGSMSX152.gar.corp.intel.com ([169.254.6.243]) with mapi id 14.03.0319.002; Thu, 9 Nov 2017 07:41:01 +0530 From: "Yang, Zhiyong" To: "Tan, Jianfeng" , "dev@dpdk.org" CC: "yliu@fridaylinux.org" , "maxime.coquelin@redhat.com" Thread-Topic: [PATCH v2] net/virtio: fix rxq intr config fails using vfio-pci Thread-Index: AQHTWIFaOHnkJ3lY3kuXD02XPwSb/6MKJIuAgAEo6hA= Date: Thu, 9 Nov 2017 02:11:00 +0000 Message-ID: References: <20171031094456.24912-1-zhiyong.yang@intel.com> <20171108110348.38548-1-zhiyong.yang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.223.10.10] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] net/virtio: fix rxq intr config fails using vfio-pci X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Nov 2017 02:12:58 -0000 Hi Jianfeng, > -----Original Message----- > From: Tan, Jianfeng > Sent: Wednesday, November 8, 2017 9:53 PM > To: Yang, Zhiyong ; dev@dpdk.org > Cc: yliu@fridaylinux.org; maxime.coquelin@redhat.com > Subject: Re: [PATCH v2] net/virtio: fix rxq intr config fails using vfio-= pci >=20 >=20 > Hi Zhiyong, >=20 >=20 > On 11/8/2017 7:03 PM, Zhiyong Yang wrote: > > When running l3fwd-power to test virtio rxq interrupt using vfio pci > > noiommu mode, startup fails. In the function virtio_read_caps, the > > code if (flags & PCI_MSIX_ENABLE) intends to double check if vfio msix > > is enabled or not. However, it is not enable at that stage. So > > use_msix is assigned to "0", not "1", which causes the failure of > > configuring rxq intr in l3fwd-power. > > This patch adds the function vtpci_msix_detect to detect the status of > > msix when interrupt changes happen. > > In the meanwhile, virtio_intr_enable/disable are introduced to wrap > > rte_intr_enable/disable to enhance the ability to detect msix. Only > > support and enable msix can assign "1" to use_msix. >=20 > Should be "2". Better to use macro here. >=20 > > > > Fixes: cb482cb3a305 ("net/virtio: fix MAC address read") > > Signed-off-by: Zhiyong Yang > > --- > > @@ -1370,7 +1411,15 @@ virtio_init_device(struct rte_eth_dev *eth_dev, > uint64_t req_features) > > struct virtio_net_config local_config; > > struct rte_pci_device *pci_dev =3D NULL; > > int ret; > > + int msix_detect; > > > > + msix_detect =3D vtpci_msix_detect(RTE_ETH_DEV_TO_PCI(eth_dev)); > > + if (msix_detect < 0) > > + return -1; > > + else if (msix_detect =3D=3D SUPPORT_MSIX_STATUS_ENABLED) > > + hw->use_msix =3D 1; > > + else > > + hw->use_msix =3D 0; >=20 > Ditto, we directly assign return value to hw->use_msix. >=20 The function call can be removed if use_misx can use 0, 1, 2 directly We can implement the same logic in virtio_read_caps instead. Thanks Zhiyong