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 CDE531B2C0 for ; Thu, 18 Jan 2018 01:54:44 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jan 2018 16:54:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,374,1511856000"; d="scan'208";a="23258169" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 17 Jan 2018 16:54:43 -0800 Received: from fmsmsx116.amr.corp.intel.com (10.18.116.20) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 17 Jan 2018 16:54:43 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx116.amr.corp.intel.com (10.18.116.20) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 17 Jan 2018 16:53:38 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.189]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Thu, 18 Jan 2018 08:53:36 +0800 From: "Lu, Wenzhuo" To: Matan Azrad , Thomas Monjalon , Gaetan Rivet , "Wu, Jingjing" CC: "dev@dpdk.org" , Neil Horman , "Richardson, Bruce" , "Ananyev, Konstantin" Thread-Topic: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev port ownership Thread-Index: AQHTh5ypoteWd8b8HEyxdkLfW8dkVqN2BtlA//+oQoCAAIl+sIABEqkAgAGS6TA= Date: Thu, 18 Jan 2018 00:53:35 +0000 Message-ID: <6A0DE07E22DDAD4C9103DF62FEBC09093B712A93@shsmsx102.ccr.corp.intel.com> References: <1511870281-15282-1-git-send-email-matan@mellanox.com> <1515318351-4756-1-git-send-email-matan@mellanox.com> <1515318351-4756-7-git-send-email-matan@mellanox.com> <6A0DE07E22DDAD4C9103DF62FEBC09093B7110ED@shsmsx102.ccr.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09093B711969@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev port ownership 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, 18 Jan 2018 00:54:45 -0000 Hi Matan, > -----Original Message----- > From: Matan Azrad [mailto:matan@mellanox.com] > Sent: Wednesday, January 17, 2018 4:51 PM > To: Lu, Wenzhuo ; Thomas Monjalon > ; Gaetan Rivet ; Wu, > Jingjing > Cc: dev@dpdk.org; Neil Horman ; Richardson, > Bruce ; Ananyev, Konstantin > > Subject: RE: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev port > ownership >=20 > Hi Lu >=20 > From: Lu, Wenzhuo, Wednesday, January 17, 2018 2:47 AM > > Hi Matan, > > > > > -----Original Message----- > > > From: Matan Azrad [mailto:matan@mellanox.com] > > > Sent: Tuesday, January 16, 2018 4:16 PM > > > To: Lu, Wenzhuo ; Thomas Monjalon > > > ; Gaetan Rivet ; Wu, > > > Jingjing > > > Cc: dev@dpdk.org; Neil Horman ; Richardson, > > > Bruce ; Ananyev, Konstantin > > > > > > Subject: RE: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev > > > port ownership > > > > > > Hi Lu > > > From: Lu, Wenzhuo, Tuesday, January 16, 2018 7:54 AM > > > > Hi Matan, > > > > > > > > > > > > > -----Original Message----- > > > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Matan Azrad > > > > > Sent: Sunday, January 7, 2018 5:46 PM > > > > > To: Thomas Monjalon ; Gaetan Rivet > > > > > ; Wu, Jingjing > > > > > Cc: dev@dpdk.org; Neil Horman ; > > Richardson, > > > > > Bruce ; Ananyev, Konstantin > > > > > > > > > > Subject: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev > > > > > port ownership > > > > > > > > > > Testpmd should not use ethdev ports which are managed by other > > > > > DPDK entities. > > > > > > > > > > Set Testpmd ownership to each port which is not used by other > > > > > entity and prevent any usage of ethdev ports which are not owned > > > > > by > > Testpmd. > > > > Sorry I don't follow all the discussion as there's too much. So it > > > > may be a silly question. > > > > > > No problem, I'm here for any question :) > > > > > > > Testpmd already has the parameter " --pci-whitelist" to only use > > > > the assigned devices. > > > > > > It is an EAL parameter. No? just say to EAL which devices to create.. > > > > > > > When using this parameter, all the devices are owned by the > > > > current APP. > > > > > > No, what's about vdev? vdevs may manage devices(even whitlist PCI > > > devices) by themselves and want to prevent any app to use these > > > devices(see fail- safe PMD). > > I'm not an expert of EAL and vdev. Suppose this would be discussed in > > other patches. > > I don't want to bother you again here as testpmd is only used to show > > the result. > > So I think if this patch is needed just depends on if other patches > > are accepted :) > > > Sure! >=20 > > > > > > > So I don't know why need to set/check the ownership. > > > > BTW, in this patch, seem all the change is for ownership checking. > > > > I don't find the setting code. Do I miss something? > > > > > > Yes, see in main function (the first FOREACH). > > I think you mean this change, > > > > @@ -2394,7 +2406,12 @@ uint8_t port_is_bonding_slave(portid_t > > slave_pid) > > rte_pdump_init(NULL); > > #endif > > > > - nb_ports =3D (portid_t) rte_eth_dev_count(); > > + if (rte_eth_dev_owner_new(&my_owner.id)) > > + rte_panic("Failed to get unique owner identifier\n"); > > + snprintf(my_owner.name, sizeof(my_owner.name), > > TESTPMD_OWNER_NAME); > > + RTE_ETH_FOREACH_DEV_OWNED_BY(port_id, > > RTE_ETH_DEV_NO_OWNER) > > + if (rte_eth_dev_owner_set(port_id, &my_owner) =3D=3D 0) > > + nb_ports++; > > if (nb_ports =3D=3D 0) > > RTE_LOG(WARNING, EAL, "No probed ethernet devices\n"); >=20 > Yes. >=20 > > But I thought about some code to assign a specific device to a > > specific APP explicitly. > > This code looks like just occupying the devices with no owner. So, it > > means the first APP will occupy all the devices? It makes me confused > > as I don't see the benefit or the difference than before. >=20 > Remember that in EAL init some drivers may create ports and take > ownership of them, so this code owns all the ownerless ports. > So, ports which are already owned by another DPDK entity will not success= to > take ownership here. > Since Testpmd wanted to manage all the ports before this feature( by > mistake ), I guess this is the right behavior now, just use the ports whi= ch are > not used. Thanks for the explanation. Sounds good to me :) >=20 > > > > > > > > Thanks, Matan.