diff mbox

RFC linux-dpdk support for DPDK 1.7.0

Message ID CANzB88Xj_RX553KEsN+tF-B48Di+VTKbzL2fMeYnXVop4NwfmA@mail.gmail.com
State New
Headers show

Commit Message

Venkatesh Vivekanandan Dec. 9, 2014, 1:02 p.m. UTC
Hi All,

DPDK changed its way of loading the driver from 1.7.0. We can support this
change in ODP in two ways.

1. Wrap intel_dpdk archive with --whole-archive/--no-whole-archive in all
odp applications OR
2. Compile DPDK with shared lib option enabled and load intel_dpdk as
shared lib with ODP.

Currently option 1 doesn't look feasible. Looking out for solution.

For option 2:
Change given below is needed to pass the dpdk's lib path to all the
applications when odp is compiled for linux-dpdk. Is this acceptable?. May
be, this is useful for other platforms as well.


Thanks,
Venkatesh.

Comments

Bill Fischofer Dec. 9, 2014, 1:15 p.m. UTC | #1
These are good questions.  Let's discuss during today's ODP call.  Venky:
Can you be sure to join for that?

On Tue, Dec 9, 2014 at 7:02 AM, Venkatesh Vivekanandan <
venkatesh.vivekanandan@linaro.org> wrote:

> Hi All,
>
> DPDK changed its way of loading the driver from 1.7.0. We can support this
> change in ODP in two ways.
>
> 1. Wrap intel_dpdk archive with --whole-archive/--no-whole-archive in all
> odp applications OR
> 2. Compile DPDK with shared lib option enabled and load intel_dpdk as
> shared lib with ODP.
>
> Currently option 1 doesn't look feasible. Looking out for solution.
>
> For option 2:
> Change given below is needed to pass the dpdk's lib path to all the
> applications when odp is compiled for linux-dpdk. Is this acceptable?. May
> be, this is useful for other platforms as well.
>
> diff --git a/configure.ac b/configure.ac
> index 2ae22f1..e7ee713 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -146,7 +146,7 @@ AC_SEARCH_LIBS([timer_create],[rt posix4])
>  ##########################################################################
>  # distribute the changed variables among the Makefiles
>
> -AM_LDFLAGS="$AM_LDFLAGS -pthread -lrt"
> +AM_LDFLAGS="$AM_LDFLAGS -pthread -lrt -R$SDK_INSTALL_PATH/lib"
>
>  AC_SUBST([LIBS])
>  AC_SUBST([AM_CFLAGS])
>
> Thanks,
> Venkatesh.
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/lng-odp
>
>
Taras Kondratiuk Dec. 9, 2014, 4:54 p.m. UTC | #2
On 12/09/2014 03:02 PM, Venkatesh Vivekanandan wrote:
> Hi All,
> 
> DPDK changed its way of loading the driver from 1.7.0. We can support 
> this change in ODP in two ways.
> 
> 1. Wrap intel_dpdk archive with --whole-archive/--no-whole-archive in 
> all odp applications OR
> 2. Compile DPDK with shared lib option enabled and load intel_dpdk as 
> shared lib with ODP.
> 
> Currently option 1 doesn't look feasible. Looking out for solution.
> 
> For option 2:
> Change given below is needed to pass the dpdk's lib path to all the 
> applications when odp is compiled for linux-dpdk. Is this acceptable?. 
> May be, this is useful for other platforms as well.

Hardcoding a path there is not very nice. I need 'usr/lib' there for
example. Can you use platform Makefile.inc for this?

https://git.linaro.org/people/taras.kondratiuk/odp.git/blob/HEAD:/platform/linux-keystone2/Makefile.inc
Venkatesh Vivekanandan Dec. 10, 2014, 6:15 a.m. UTC | #3
On 9 December 2014 at 22:24, Taras Kondratiuk <taras.kondratiuk@linaro.org>
wrote:

> On 12/09/2014 03:02 PM, Venkatesh Vivekanandan wrote:
> > Hi All,
> >
> > DPDK changed its way of loading the driver from 1.7.0. We can support
> > this change in ODP in two ways.
> >
> > 1. Wrap intel_dpdk archive with --whole-archive/--no-whole-archive in
> > all odp applications OR
> > 2. Compile DPDK with shared lib option enabled and load intel_dpdk as
> > shared lib with ODP.
> >
> > Currently option 1 doesn't look feasible. Looking out for solution.
> >
> > For option 2:
> > Change given below is needed to pass the dpdk's lib path to all the
> > applications when odp is compiled for linux-dpdk. Is this acceptable?.
> > May be, this is useful for other platforms as well.
>
> Hardcoding a path there is not very nice. I need 'usr/lib' there for
> example. Can you use platform Makefile.inc for this?
>

Good suggestion. It worked, Thanks!. Even I was not that much convinced
changing configure.ac, that is when sent RFC :-)


>
> https://git.linaro.org/people/taras.kondratiuk/odp.git/blob/HEAD:/platform/linux-keystone2/Makefile.inc
>
diff mbox

Patch

diff --git a/configure.ac b/configure.ac
index 2ae22f1..e7ee713 100644
--- a/configure.ac
+++ b/configure.ac
@@ -146,7 +146,7 @@  AC_SEARCH_LIBS([timer_create],[rt posix4])
 ##########################################################################
 # distribute the changed variables among the Makefiles

-AM_LDFLAGS="$AM_LDFLAGS -pthread -lrt"
+AM_LDFLAGS="$AM_LDFLAGS -pthread -lrt -R$SDK_INSTALL_PATH/lib"

 AC_SUBST([LIBS])
 AC_SUBST([AM_CFLAGS])