Given Zoltan's confirmation I would recommend that we defer the PktIO
changes until we can have a more complete discussion of what would be
useful/needed as a next-phase classification API (including specifying
parse needs) and rely on lazy parsing in SW to meet the immediate needs for
OVS performance enhancement.

On Tue, May 5, 2015 at 7:12 AM, Zoltan Kiss <zoltan.k...@linaro.org> wrote:

>
>
> On 30/04/15 20:26, Mike Holmes wrote:
>
>>
>>
>> On 30 April 2015 at 08:16, Bill Fischofer <bill.fischo...@linaro.org
>> <mailto:bill.fischo...@linaro.org>> wrote:
>>
>>     You've articulated why we don't need API changes for this.  Each
>>     implementation is free to optimize its performance as it chooses
>>     without impacting the public APIs.  Such performance optimizations
>>     would be expected to evolve as implementations mature.  We did an
>>     initial cut at SW parsing and we can improve that by introducing
>>     basic lazy parsing support to accommodate apps that do their own
>>     parsing.  At some future point we may do something more
>>     sophisticated as needs dictate.  But none of this need impact other
>>     implementations since there are no API impacts.
>>
>>     If we change ODP APIs then we impact every ODP implementation, so we
>>     should only do that if there is a genuine application functional
>>     need for the change.  If it's simply a question of performance,
>>     that's a negotiation between the application and the implementation
>>     writer.
>>
>>
>> In this debate I'd hate to see us miss 1.1.0 next week, we have a real
>> use case, ODP-OVS needs to disable ODP parsing whilst we bootstrap that
>> work.
>>
>> If Zoltan is sure that lazy can work and hence we dont need an API
>> change right now then I am not worried,  but other wise I think we
>> should accept simple parsing on/off and revise things as we have a use
>> case.
>>
>
> Yes, I think lazy evaluation should work for OVS. It calls
> odp_packet_has_error() once but that should be removed.
>
> Zoli
>
>
>> Mike
>>
>>
>>     On Thu, Apr 30, 2015 at 3:34 AM, Savolainen, Petri (Nokia -
>>     FI/Espoo) <petri.savolai...@nokia.com
>>     <mailto:petri.savolai...@nokia.com>> wrote:
>>
>>         Lazy parsing is one (SW based) implementation. Another
>>         implementation may use e.g. firmware (or microcode) downloaded
>>         into the packet input HW in interface initialization phase. That
>>         time the implementation can e.g. decide the trade-off between
>>         parser features and HW resource usage. The accelerator would do
>>         all the parsing, no lazy SW parsing needed … but implementation
>>         would know what to download there.____
>>
>>         __ __
>>
>>         Also lazy parsing cannot guess what application is going to ask
>>         and in which order (== when it’s optimal to stop SW parsing).
>>         For example, application calls odp_packet_has_l2(): do you parse
>>         to the end of protocol stack right there or not?  You may gain
>>         performance if you do and application asks more flags later on –
>>         or you may have done all the work for nothing, because
>>         application did not ask anything else after that.____
>>
>>         __ __
>>
>>         Things get more complicated when more protocols are added: mpls,
>>         nvgre, l2tp, etc. If your HW/FW implementation can support
>>         everything specified in ODP API - but not at the same time,
>>         which ones you should leave out (for SW parsing)?____
>>
>>         __ __
>>
>>         -Petri____
>>
>>         __ __
>>
>>         __ __
>>
>>         *From:*ext Ola Liljedahl [mailto:ola.liljed...@linaro.org
>>         <mailto:ola.liljed...@linaro.org>]
>>         *Sent:* Wednesday, April 29, 2015 8:19 PM
>>         *To:* Zoltan Kiss
>>         *Cc:* Savolainen, Petri (Nokia - FI/Espoo);
>>         lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>>         *Subject:* Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io:
>>         added parse mode____
>>
>>         __ __
>>
>>         On 29 April 2015 at 18:14, Zoltan Kiss <zoltan.k...@linaro.org
>>         <mailto:zoltan.k...@linaro.org>> wrote:____
>>
>>         It doesn't apply to api-next. Anyway, I've sent an
>>         implementation, see "[API-NEXT PATCH] packet: implement optional
>>         parsing". But if we go with Ola's idea, it won't be needed.____
>>
>>         Actually Bill's idea.____
>>
>>         __ __
>>
>>         If parsing is made lazy, where do you have to check whether to
>>         actually perform the parsing? Hopefully we don't need a check in
>>         every odp_packet_has_xxx() call. If the application is using the
>>         odp_packet_flags.h API, is there some call which always will be
>>         called (and called first) which can trigger the parsing? E.g.
>>         odp_packet_has_error() could check whether parsing has been done
>>         and if not do the parsing. Other calls may not have to perform
>>         the check. Would such a design be robust enough?____
>>
>>         __ __
>>
>>         ____
>>
>>
>>             On 29/04/15 07:45, Savolainen, Petri (Nokia - FI/Espoo)
>>             wrote:____
>>
>>             It's (v2) on the list (since last Thu):
>>
>>             [lng-odp] [API-NEXT PATCH v2 4/5] api: packet_io: added
>>             parse mode
>>
>>
>>             -Petri____
>>
>>             _______________________________________________
>>             lng-odp mailing list
>>             lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>>             https://lists.linaro.org/mailman/listinfo/lng-odp____
>>
>>         __ __
>>
>>
>>         _______________________________________________
>>         lng-odp mailing list
>>         lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>>         https://lists.linaro.org/mailman/listinfo/lng-odp
>>
>>
>>
>>     _______________________________________________
>>     lng-odp mailing list
>>     lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>>     https://lists.linaro.org/mailman/listinfo/lng-odp
>>
>>
>>
>>
>> --
>> Mike Holmes
>> Technical Manager - Linaro Networking Group
>> Linaro.org <http://www.linaro.org/>***│ *Open source software for ARM
>> SoCs
>>
>> __
>>
>>
>>
>>
>> _______________________________________________
>> lng-odp mailing list
>> lng-odp@lists.linaro.org
>> https://lists.linaro.org/mailman/listinfo/lng-odp
>>
>>
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to