From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <reshma.pattan@intel.com>
Received: from mga04.intel.com (mga04.intel.com [192.55.52.120])
 by dpdk.org (Postfix) with ESMTP id 66FEA1B136
 for <dev@dpdk.org>; Tue, 18 Dec 2018 11:25:30 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 18 Dec 2018 02:25:29 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.56,367,1539673200"; d="scan'208";a="110336895"
Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66])
 by fmsmga008.fm.intel.com with ESMTP; 18 Dec 2018 02:25:28 -0800
Received: from irsmsx110.ger.corp.intel.com ([169.254.15.233]) by
 IRSMSX152.ger.corp.intel.com ([169.254.6.8]) with mapi id 14.03.0415.000;
 Tue, 18 Dec 2018 10:25:27 +0000
From: "Pattan, Reshma" <reshma.pattan@intel.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, "Dumitrescu,
 Cristian" <cristian.dumitrescu@intel.com>, "dev@dpdk.org" <dev@dpdk.org>,
 "jerin.jacob@caviumnetworks.com" <jerin.jacob@caviumnetworks.com>, "Singh,
 Jasvinder" <jasvinder.singh@intel.com>
Thread-Topic: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition
Thread-Index: AQHUjjmhhALKbOTKvk2PW/YCbZWsfKV+7wMAgAALWYCAA95sAIAAYIhAgAAdLQCAAQIpgIAAAM1g
Date: Tue, 18 Dec 2018 10:25:27 +0000
Message-ID: <3AEA2BF9852C6F48A459DA490692831F2A3EBC37@irsmsx110.ger.corp.intel.com>
References: <20181123165423.134922-1-jasvinder.singh@intel.com>
 <1544193116-7058-2-git-send-email-reshma.pattan@intel.com>
 <2601191342CEEE43887BDE71AB977258010D8BA5F8@IRSMSX106.ger.corp.intel.com>
 <3EB4FA525960D640B5BDFFD6A3D891268E81545F@IRSMSX108.ger.corp.intel.com>
 <2601191342CEEE43887BDE71AB977258010D8BB16D@IRSMSX106.ger.corp.intel.com>
 <3AEA2BF9852C6F48A459DA490692831F2A3EB753@irsmsx110.ger.corp.intel.com>
 <3EB4FA525960D640B5BDFFD6A3D891268E816063@IRSMSX108.ger.corp.intel.com>
 <2601191342CEEE43887BDE71AB977258010D8BBB63@IRSMSX106.ger.corp.intel.com>
In-Reply-To: <2601191342CEEE43887BDE71AB977258010D8BBB63@IRSMSX106.ger.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTNjMWM0MjEtZDA0Ny00ZGQ3LWJlMmUtMDFmY2Y3NjZkZjhlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiMnZGcWJyNE1kdDZ4OU9KbjlSbFhVK1FONWFBZkdtbFRiWmdBMk56UE56TTExRFp6Zk1kQ3RoWVVGYVdmVGxnWCJ9
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.0.400.15
dlp-reaction: no-action
x-originating-ip: [163.33.239.180]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Dec 2018 10:25:31 -0000



> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Tuesday, December 18, 2018 10:15 AM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Pattan, Reshma
> <reshma.pattan@intel.com>; dev@dpdk.org;
> jerin.jacob@caviumnetworks.com; Singh, Jasvinder
> <jasvinder.singh@intel.com>
> Subject: RE: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition
>=20
>=20
>=20
> > -----Original Message-----
> > From: Dumitrescu, Cristian
> > Sent: Monday, December 17, 2018 6:51 PM
> > To: Pattan, Reshma <reshma.pattan@intel.com>; Ananyev, Konstantin
> > <konstantin.ananyev@intel.com>; dev@dpdk.org;
> > jerin.jacob@caviumnetworks.com; Singh, Jasvinder
> > <jasvinder.singh@intel.com>
> > Subject: RE: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color
> > definition
> >
> >
> >
> > > -----Original Message-----
> > > From: Pattan, Reshma
> > > Sent: Monday, December 17, 2018 5:15 PM
> > > To: Ananyev, Konstantin <konstantin.ananyev@intel.com>; Dumitrescu,
> > > Cristian <cristian.dumitrescu@intel.com>; dev@dpdk.org;
> > > jerin.jacob@caviumnetworks.com; Singh, Jasvinder
> > > <jasvinder.singh@intel.com>
> > > Subject: RE: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color
> > > definition
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Ananyev, Konstantin
> > > > Sent: Monday, December 17, 2018 11:21 AM
> > > > To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Pattan,
> > > > Reshma <reshma.pattan@intel.com>; dev@dpdk.org;
> > > > jerin.jacob@caviumnetworks.com; Singh, Jasvinder
> > > > <jasvinder.singh@intel.com>
> > > > Cc: Pattan, Reshma <reshma.pattan@intel.com>
> > > > Subject: RE: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color
> > > > definition
> > > >
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Dumitrescu, Cristian
> > > > > Sent: Saturday, December 15, 2018 12:16 AM
> > > > > To: Ananyev, Konstantin <konstantin.ananyev@intel.com>; Pattan,
> > > Reshma
> > > > > <reshma.pattan@intel.com>; dev@dpdk.org;
> > > > > jerin.jacob@caviumnetworks.com; Singh, Jasvinder
> > > > > <jasvinder.singh@intel.com>
> > > > > Cc: Pattan, Reshma <reshma.pattan@intel.com>
> > > > > Subject: RE: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color
> > > > > definition
> > > > >
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Ananyev, Konstantin
> > > > > > Sent: Friday, December 14, 2018 11:36 PM
> > > > > > To: Pattan, Reshma <reshma.pattan@intel.com>; dev@dpdk.org;
> > > > > > Dumitrescu, Cristian <cristian.dumitrescu@intel.com>;
> > > > > > jerin.jacob@caviumnetworks.com; Singh, Jasvinder
> > > > > > <jasvinder.singh@intel.com>
> > > > > > Cc: Pattan, Reshma <reshma.pattan@intel.com>
> > > > > > Subject: RE: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color
> > > > > > definition
> > > > > >
> > > > > > Hi Reshma,
> > > > > >
> > > > > > > diff --git a/lib/librte_eal/common/include/rte_color.h
> > > > > > b/lib/librte_eal/common/include/rte_color.h
> > > > > > > new file mode 100644
> > > > > > > index 000000000..f4387071b
> > > > > > > --- /dev/null
> > > > > > > +++ b/lib/librte_eal/common/include/rte_color.h
> > > > > > > @@ -0,0 +1,18 @@
> > > > > > > +/* SPDX-License-Identifier: BSD-3-Clause
> > > > > > > + * Copyright(c) 2018 Intel Corporation  */
> > > > > > > +
> > > > > > > +#ifndef _RTE_COLOR_H_
> > > > > > > +#define _RTE_COLOR_H_
> > > > > > > +
> > > > > > > +/**
> > > > > > > + * Color
> > > > > > > + */
> > > > > > > +enum rte_color {
> > > > > > > +	RTE_COLOR_GREEN =3D 0, /**< Green */
> > > > > > > +	RTE_COLOR_YELLOW, /**< Yellow */
> > > > > > > +	RTE_COLOR_RED, /**< Red */
> > > > > > > +	RTE_COLORS /**< Number of colors */ };
> > > > > >
> > > > > > Does it really belong to EAL?
> > > > > > Konstantin
> > > > > >
> > > > >
> > > > > Why not?
> > > > >
> > > > > It needs to be visible to multiple libraries: ethdev, meter,
> > > > > sched, as well as drivers. We'd like to avoid adding more
> > > > > complexity to
> > > dependencies
> > > > between libraries.
> > > > >
> > > > > It is very generic. EAL common/include is currently the place to
> > > > > put generic data structures, functions, algs, etc that are
> > > > > widely used by DPDK
> > > > libraries. Lots of similar examples are easy to find in this folder=
.
> > > >
> > > > I don't think it is *that* generic to be in EAL.
> > > > Yes it is used by few libs, ethdev and by softnic PMD, but it
> > > > doesn't look as core dpdk thing to me.
> > > >
> > > > >
> > > > > Where else would you put it?
> > > >
> > > > If it defines format of rte_mbuf fileds, then probably new .h
> > > > inside
> > > librte_mbuf is
> > > > a good place.
> > > > Other alternatives would be rte_ethdev or rte_net.
> > >
> > > After going through the lib/Makefile dependencies, I see we can have
> > > rte_color.h in eal or mbuf library only.
> > > Cannot keep it inside ethdev or net libraries because these two
> > > libraries already have dependency  on mbuf library, so cannot create
> > > loop dependency.
> > >
> > > Snippet
> > >
> > > 1) DEPDIRS-librte_eal :=3D librte_kvargs
> > >
> > > 2)DEPDIRS-librte_mbuf :=3D librte_eal librte_mempool
> > >
> > > 3)DEPDIRS-librte_ethdev :=3D librte_net librte_eal librte_mempool
> > > librte_ring DEPDIRS-librte_ethdev +=3D librte_mbuf
> > > DEPDIRS-librte_ethdev +=3D librte_kvargs DEPDIRS-librte_ethdev +=3D
> > > librte_cmdline
> > >
> > > 4) DEPDIRS-librte_net :=3D librte_mbuf librte_eal
> > >
> > > 5) DEPDIRS-librte_meter :=3D librte_eal
> > >
> > > Thanks,
> > > Reshma
> >
> > Yes, I wound not mind to put this header file in librte_net, it makes
> > sense to me. But librte_net depends on librte_mbuf, so then librte_net =
is not
> an option.
> >
> > The only two options are librte_eal and librte_mbuf. Between these
> > two, my vote was librte_eal (as we already have plenty of similar
> > items in librte_eal/common/include) instead of librte_mbuf, as to me th=
e
> packet color is not related to how DPDK decides to pick its packet meta- =
data.
> >
> > To me, librte_eal/common/include is still the best option, but I guess =
I can live
> with librte_mbuf in case Konstantin has a hard opinion on it.
> >
> > What is your choice, Konstantin?
>=20
> If to choose between EAL and mbuf - I would choose mbuf, that what I stat=
ed in
> my previous mail, see above.
> BTW, I probably missing something, but why rte_net is not an option?
> What circular dependency you are talking about?
> Konstantin
>=20

Since librte_net has mbuf in its dependent list as below from lib/Makefile.=
=20
i.e. DEPDIRS-librte_net :=3D librte_mbuf librte_eal

So now, If we move rte_color.h to librte_net, then need to add librte_net t=
o mbuf dependency list(as we are using rte_color.h in rte_mbuf.h)

Current mbuf dependency list is
DEPDIRS-librte_mbuf :=3D librte_eal librte_mempool

The new will be
DEPDIRS-librte_mbuf :=3D librte_eal librte_mempool librte_net=20

So this will create circular dependency, I think this is not allowed in DPD=
K right?

If my understanding is correct,  librte_net is not the correct place. Pleas=
e clarify.

Thanks,
Reshma