[dpdk-dev] [EXT] Re: [PATCH 1/3] mbuf: add Tx offloads for packet marking

Jerin Jacob jerinjacobk at gmail.com
Fri May 15 18:26:26 CEST 2020


On Fri, May 15, 2020 at 8:40 PM Thomas Monjalon <thomas at monjalon.net> wrote:
>
> 15/05/2020 15:44, Nithin Dabilpuram:
> > On Fri, May 15, 2020 at 03:12:59PM +0200, Thomas Monjalon wrote:
> > > 15/05/2020 12:08, Nithin Dabilpuram:
> > > > On Thu, May 14, 2020 at 10:29:31PM +0200, Olivier Matz wrote:
> > > > > I don't see any better approach than having a mbuf flag. However, I'm
> > > > > still not fully convinced that a dynamic flag won't do the job. Taking
> > > > > 3 additional flags (among 18 remaing) for this feature also means that
> > > > > we have 3 flags less for dynamic flags for all applications, even for
> > > > > applications that will not use this feature.
> > > > >
> > > > > Would it be a problem to use a dynamic flag in this case?
> > > > Since packet marking feature itself is already part of spec,
> > > > if we move the flags to PMD specific dynamic flag, then it creates a confusion.
> > > >
> > > > It is not the case of a custom feature supported by a specific PMD.
> > > > I believe when other PMD's implement packet marking, the same flags will
> > > > suffice.
> > >
> > > A dynamic flag is not necessarily PMD-specific.
> > > It is just avoiding consuming bits if the feature is not used by the application.
> > > We must move more existing flags and fields to be dynamic.
> > >
> > > In general, all new flags and fields in mbuf should be dynamic.
> > > And a work must be done to move existing stuff to free more space
> > > for more dynamic features.
> >
> > My bad, I thought dynamic flags can only be used for PMD specific thing.
> >
> > There is however a cost of using dynamic flag which I think should be avoided
> > for DPDK spec defined offloads, though it's fine for PMD specific things.
> >
> > Dynamic offload flags causes application and PMD to use non constant offset
> > or shift which are looked up at init, instead of having a constant shift or
> > offset. This indirection costs some cycles due to extra loads in fast path.
>
> Yes there is a cost. We described it quite clearly last year.
> The default rule is now to add new flags and fields as dynamic.
> In case the rule was not clear, I will send a patch to insert some
> notes in the code and the doc.

Yes. Please send a patch to document the rule. That makes life easy
for everyone to make a boolean decision.

Here is the comment from mbuf: support dynamic fields and flags commit
when accepted this patch.

"    The typical use case is a PMD that registers space for an offload
    feature, when the application requests to enable this feature.  As
    the space in mbuf is limited, the space should only be reserved if it
    is going to be used (i.e when the application explicitly asks for it).
"
If you are pushing this feature to dynamic mbuf filed then rte_tm
subsystem needs to register dynamic field
not the PMD as the feature is part of rte_tm spec.


>
> If you disagree with this new rule, you will have to give very good arguments.

What would the definition of a good argument? as the same logic can be
implemented with dynamic vs
static at the cost of dynamic indirection.

>
>
>
>


More information about the dev mailing list