The IO Visor <https://www.iovisor.org/> 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?

Bill

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

> On Fri, Nov 6, 2015 at 6:48 AM, Zoltan Kiss <zoltan.k...@linaro.org>
> wrote:
> > I've checked link time optimization (-flto), but it only helps with
> static
> > linking. Is there any way to keep the ODP application and platform
> > implementation binaries in separate files while having the performance
> > benefit of inlining?
>
> I haven't been able to think of a good way to do this, and apparently
> no one else has either.
>
> There is a not so good way to do it.  You could distribute relocatable
> link (i.e. ld -r) output instead of executables and shared libraries,
> and then do the final LTO compile and link at run-time.  This just
> creates a new set of problems though.  There would be a long delay for
> the LTO compile and link before you start routing packets which would
> be inconvenient.  It would be better to do the LTO compile and link
> just once and reuse the binary, but then you have the problem of where
> do you put the binary and how do you give it proper owner and group
> permissions.  There may also be issues with using ld -r with LTO.  You
> probably don't want this mess.
>
> Otherwise, you need some kind of JIT or rewritable code scheme to redo
> compiler optimizations at run-time, and we don't have that technology,
> at least not with gcc.  I don't know if LLVM has any useful feature
> here.
>
> Jim
> _______________________________________________
> 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