On 10 November 2015 at 13:41, Zoltan Kiss <zoltan.kiss@linaro.org> wrote:


On 10/11/15 07:39, Maxim Uvarov wrote:
JIT like lua might also not work because you need to rewrite OVS to
support it. I don't think that it will be accepted.

And it looks like it's problem in OVS, not in ODP. I.e. OVS should allow
to  use library functions for fast path (where inlines are critical).
I.e. not just call odp_packet_len(),  but move hole OVS function to
dynamic library.

I'm not sure I get your point here, but OVS allows to use dynamic library functions on fast path. The problem is that it's slow, because of the function call overhead.

I'm not familiar with ovs code. But for example ovs has something like:

ovs_get_and_packet_process()
{
// here you use some inlines:
  pkt = odp_recv();
  len = odp_packet_len(pkt);

... etc.

}

So it's clear for each target arch you needs it's own variant of ovs_get_and_packet_process() function. That function should go from ovs to dynamic library.

Maxim.


 


regards,
Maxim.

On 10 November 2015 at 02:50, Bill Fischofer <bill.fischofer@linaro.org
<mailto:bill.fischofer@linaro.org>> wrote:

    Adding Grant Likely to this chain as it relates to the broader
    subject of portable ABIs that we've been discussing.

    On Mon, Nov 9, 2015 at 4:48 PM, Jim Wilson <jim.wilson@linaro.org
    <mailto:jim.wilson@linaro.org>> wrote:

        On Mon, Nov 9, 2015 at 2:39 PM, Bill Fischofer
        <bill.fischofer@linaro.org <mailto:bill.fischofer@linaro.org>>
        wrote:
        > The IO Visor project appears to be doing something like this with LLVM and
        > JIT constructs to dynamically insert code into the kernel in a
        > platform-independent manner. Perhaps we can leverage that technology?

        GCC has some experimental JIT support, but I think it would be a lot
        of work to use it, and I don't know how stable it is.
        https://gcc.gnu.org/wiki/JIT
        The LLVM support is probably more advanced.

        Jim



    _______________________________________________
    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
https://lists.linaro.org/mailman/listinfo/lng-odp