Hi Bala, I've been reflecting about this and I agree with you, seems to make more sense defining a headroom size per CoS as a generic concept, however my use case differs from it cause it's simpler. In my use case, so far, I only need to define the same headroom size for all packet stored in a packet pool memory. For this reason I proposed to define it at packet pool creation level. However I have some doubts regarding to use this feature to solve my use case. I wondered if using the following ODP API's:
- uint32_t uarea_size // packet pool parameter from odp_pool_param_t - void *odp_packet_user_area(odp_packet_t pkt); - uint32_t odp_packet_user_area_size(odp_packet_t pkt); I would be able to store meta-data for each received packet to the packet pool memory I initialize. When I create a packet pool memory and define uarea_size, does it mean that each packet received on this pool have a specific user memory area to store meta-data per-packet? If this is correct, my use case already is solved, but regardles of it, I'm agree with you to add a headroom per CoS. Best, Genís Riera Pérez. Genís Riera Pérez Software Engineer at StarFlow Networks Edifici K2M, S103 c/ Jordi Girona 31 08034 Barcelona E-mail: [email protected] On Mon, Jul 20, 2015 at 3:00 PM, Bala Manoharan <[email protected]> wrote: > Hi Genis, > > I would like you to validate whether the options of adding headroom per > CoS work for you. > > IMO, adding headroom per CoS makes more sense since CoS defines a specific > flow and the application might be interested to modify headroom per flow. > Since with your current proposal the same is possible but that would mean > you need to create different pools per different types of flows. > > Regards, > Bala > > On 16 July 2015 at 00:20, Ivan Khoronzhuk <[email protected]> > wrote: > >> Nicolas, >> >> On 15.07.15 20:49, Nicolas Morey Chaisemartin wrote: >> >>> You don t need to add the lng-odp part. The mailing list doed it on its >>> own when it s not in the title already >>> >> >> You cannot be sure and rely upon it. I'm often add someone else in CC >> and in this case the letter doesn't pass through the list server. >> It's good when the letter is seen by everyone with the same subject. >> >> >> >>> >>> Envoyé depuis un mobile Samsung. >>> >>> >>> -------- Message d'origine -------- >>> De : Ivan Khoronzhuk >>> Date :15/07/2015 18:34 (GMT+01:00) >>> À : Bill Fischofer , Genis Riera >>> Cc : ODP mailing list >>> Objet : Re: [lng-odp] [PATCH] api: pool: add headroom init parameter to >>> odp_pool_param_t >>> >>> >>> >>> On 15.07.15 19:20, Bill Fischofer wrote: >>> > Any proposed API changes need to be tagged API-NEXT. Proper patch >>> > procedure is the following: >>> > >>> > git clone http://git.linaro.org/lng/odp.git myodp >>> > cd myodp >>> > git checkout -b api-next origin/api-next >>> > ...Make your changes and commits locally >>> > git format-patch origin/api-next --subject-prefix="API-NEXT PATCH" >>> >>> --subject-prefix=lng-odp]\ [API-NEXT PATCH >>> Correct me if I'm wrong >>> >>> > // Make sure your patches are checkpatch clean: >>> > ./scripts/checkpatch *.patch >>> > git send-email [email protected] >>> > <mailto:[email protected]> *.patch >>> > >>> >>> You can simplify by adding hook to: >>> .git/hooks/post-commit >>> >>> git show --format=email | ./scripts/checkpatch.pl --strict --mailback >>> --show-types - >>> >>> Just to see issues when adding a commit. >>> >>> > >>> > >>> > On Wed, Jul 15, 2015 at 11:11 AM, Genis Riera >>> > <[email protected] <mailto:[email protected]>> >>> wrote: >>> > >>> > Ivan, >>> > >>> > If you have this compilation issues I can send again the patch >>> > without this check, assuming always positive values. Is it right >>> for >>> > you? >>> > >>> > Genís Riera Pérez >>> > Software Engineer at StarFlow Networks >>> > Edifici K2M, S103 c/ Jordi Girona 31 >>> > 08034 Barcelona >>> > >>> > E-mail: [email protected] >>> <mailto:[email protected]> >>> > >>> > On Wed, Jul 15, 2015 at 6:04 PM, Ivan Khoronzhuk >>> > <[email protected] <mailto:[email protected]>> >>> wrote: >>> > >>> > Genis >>> > >>> > On 15.07.15 19:00, Genis Riera wrote: >>> > >>> > Hi, Ivan, >>> > >>> > Not, but I added this check just in case of error when >>> > defines this >>> > parameter (e.g., when misstyping). >>> > >>> > >>> > Usually I have compilation error/warn when trying to compare >>> > unsigned int on value < 0. >>> > >>> > >>> > Best, >>> > >>> > Genís Riera Pérez >>> > Software Engineer at StarFlow Networks >>> > Edifici K2M, S103 c/ Jordi Girona 31 >>> > 08034 Barcelona >>> > >>> > E-mail: [email protected] >>> > <mailto:[email protected]> >>> > <mailto:[email protected] >>> > <mailto:[email protected]>> >>> > >>> > On Wed, Jul 15, 2015 at 5:54 PM, Ivan Khoronzhuk >>> > <[email protected] >>> > <mailto:[email protected]> >>> > <mailto:[email protected] >>> > <mailto:[email protected]>>> wrote: >>> > >>> > Hi, Genis >>> > >>> > On 15.07.15 18:47, Genis Riera wrote: >>> > >>> > A new headroom parameter is added to >>> > odp_pool_param_t when the >>> > pool is >>> > type of ODP_POOL_PACKET, so that headroom size >>> could be >>> > configured at >>> > pool initialization time (ODP application >>> runtime). >>> > >>> > Signed-off-by: Genis Riera Perez >>> > <[email protected] >>> > <mailto:[email protected]> >>> > <mailto:[email protected] >>> > <mailto:[email protected]>> >>> > <mailto:[email protected] >>> > <mailto:[email protected]> >>> > >>> > <mailto:[email protected] >>> > <mailto:[email protected]>>>> >>> > >>> > -- >>> > include/odp/api/pool.h | 5 +++++ >>> > platform/linux-generic/odp_pool.c | 10 >>> +++++++++- >>> > 2 files changed, 14 insertions(+), 1 >>> deletion(-) >>> > >>> > diff --git a/include/odp/api/pool.h >>> > b/include/odp/api/pool.h >>> > index e5061ab..913f510 100644 >>> > --- a/include/odp/api/pool.h >>> > +++ b/include/odp/api/pool.h >>> > @@ -82,6 +82,11 @@ typedef struct >>> odp_pool_param_t { >>> > /** User area size in >>> > bytes. Specify >>> > as 0 if no >>> > user >>> > area is needed. */ >>> > uint32_t uarea_size; >>> > + >>> > + /** Packet headroom size >>> in >>> > bytes. The >>> > maximum >>> > and the >>> > + default value is >>> defined by >>> > ODP_CONFIG_PACKET_HEADROOM. >>> > + Use 0 for default. */ >>> > + uint32_t headroom; >>> > } pkt; >>> > struct { >>> > /** Number of timeouts >>> in >>> > the pool */ >>> > diff --git a/platform/linux-generic/odp_pool.c >>> > b/platform/linux-generic/odp_pool.c >>> > index dcbdf07..9359e53 100644 >>> > --- a/platform/linux-generic/odp_pool.c >>> > +++ b/platform/linux-generic/odp_pool.c >>> > @@ -201,7 +201,15 @@ odp_pool_t >>> > odp_pool_create(const char *name, >>> > case ODP_POOL_PACKET: >>> > unseg = 0; /* Packets are >>> always >>> > segmented */ >>> > - headroom = >>> ODP_CONFIG_PACKET_HEADROOM; >>> > + >>> > + /* If headroom is not specified >>> by >>> > params, >>> > + set it to the default */ >>> > + if (params->pkt.headroom <= 0 || >>> > + params->pkt.headroom > >>> > ODP_CONFIG_PACKET_HEADROOM) >>> > >>> > >>> > Can headroom be < 0? >>> > >>> > + headroom = >>> > ODP_CONFIG_PACKET_HEADROOM; >>> > + else >>> > + headroom = >>> > params->pkt.headroom; >>> > + >>> > tailroom = >>> > ODP_CONFIG_PACKET_TAILROOM; >>> > buf_num = params->pkt.num; >>> > >>> > >>> > Genís Riera Pérez >>> > Software Engineer at StarFlow Networks >>> > Edifici K2M, S103 c/ Jordi Girona 31 >>> > 08034 Barcelona >>> > >>> > E-mail: [email protected] >>> > <mailto:[email protected]> >>> > <mailto:[email protected] >>> > <mailto:[email protected]>> >>> > <mailto:[email protected] >>> > <mailto:[email protected]> >>> > <mailto:[email protected] >>> > <mailto:[email protected]>>> >>> > >>> > >>> > _______________________________________________ >>> > lng-odp mailing list >>> > [email protected] <mailto:[email protected] >>> > >>> > <mailto:[email protected] >>> > <mailto:[email protected]>> >>> > https://lists.linaro.org/mailman/listinfo/lng-odp >>> > >>> > >>> > >>> > >>> > _______________________________________________ >>> > lng-odp mailing list >>> > [email protected] <mailto:[email protected]> >>> > https://lists.linaro.org/mailman/listinfo/lng-odp >>> > >>> > >>> _______________________________________________ >>> lng-odp mailing list >>> [email protected] >>> https://lists.linaro.org/mailman/listinfo/lng-odp >>> >> _______________________________________________ >> lng-odp mailing list >> [email protected] >> https://lists.linaro.org/mailman/listinfo/lng-odp >> > >
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
