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 2E4469A92 for ; Wed, 27 Jan 2016 17:45:59 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP; 27 Jan 2016 08:45:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,355,1449561600"; d="scan'208";a="642274732" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by FMSMGA003.fm.intel.com with ESMTP; 27 Jan 2016 08:45:57 -0800 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 27 Jan 2016 08:45:57 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 27 Jan 2016 08:45:57 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.215]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.117]) with mapi id 14.03.0248.002; Thu, 28 Jan 2016 00:45:55 +0800 From: "Xie, Huawei" To: Tetsuya Mukawa , "dev@dpdk.org" , "yuanhan.liu@linux.intel.com" , "Tan, Jianfeng" Thread-Topic: [RFC PATCH 5/5] virtio: Extend virtio-net PMD to support container environment Thread-Index: AdFZIjDEAunQ5LVPT++h9TW0MGQ/9A== Date: Wed, 27 Jan 2016 16:45:55 +0000 Message-ID: References: <1453108389-21006-2-git-send-email-mukawa@igel.co.jp> <1453374478-30996-6-git-send-email-mukawa@igel.co.jp> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.213.225] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC PATCH 5/5] virtio: Extend virtio-net PMD to support container environment 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: Wed, 27 Jan 2016 16:45:59 -0000 On 1/21/2016 7:09 PM, Tetsuya Mukawa wrote:=0A= > +qtest_find_pci_device(struct qtest_session *s, uint16_t bus, uint8_t dev= ice)=0A= > +{=0A= > + struct qtest_pci_device *dev;=0A= > + uint32_t val;=0A= > +=0A= > + val =3D qtest_pci_inl(s, bus, device, 0, 0);=0A= > + TAILQ_FOREACH(dev, &s->head, next) {=0A= > + if (val =3D=3D ((uint32_t)dev->device_id << 16 | dev->vendor_id)) {=0A= > + dev->bus_addr =3D bus;=0A= > + dev->device_addr =3D device;=0A= > + return;=0A= > + }=0A= > +=0A= > + }=0A= > +}=0A= > +=0A= > +static int=0A= > +qtest_init_pci_devices(struct qtest_session *s)=0A= > +{=0A= > + struct qtest_pci_device *dev;=0A= > + uint16_t bus;=0A= > + uint8_t device;=0A= > + int ret;=0A= > +=0A= > + /* Find devices */=0A= > + bus =3D 0;=0A= > + do {=0A= > + device =3D 0;=0A= > + do {=0A= > + qtest_find_pci_device(s, bus, device);=0A= > + } while (device++ !=3D NB_DEVICE - 1);=0A= > + } while (bus++ !=3D NB_BUS - 1);=0A= =0A= Seems this scan of all the pci devices is very time consuming operation,=0A= and each scan involves socket communication.=0A= Do you measure how long it takes to do the pci devices initialization?=0A= =0A= > +=0A= > + /* Initialize devices */=0A= > + TAILQ_FOREACH(dev, &s->head, next) {=0A= > + ret =3D dev->init(s, dev);=0A= > + if (ret !=3D 0)=0A= > + return ret;=0A= > + }=0A= > +=0A= > + return 0;=0A= =0A=