nagarahalli replied on github web page: platform/linux-dpdk/Makefile.am line 19 @@ -348,8 +346,10 @@ endif endif endif if ODP_SCHEDULE_SCALABLE +__LIB__libodp_dpdk_la_SOURCES += ../linux-generic/queue/scalable.c ../linux-generic/queue/scalable.lo: AM_CFLAGS += -DIM_ACTIVE_MODULE else +__LIB__libodp_dpdk_la_SOURCES += ../linux-generic/queue/generic.c ../linux-generic/queue/generic.lo: AM_CFLAGS += -DIM_ACTIVE_MODULE endif
Comment: Without these changes, try the compilation for the following configuration: ./configure --with-platform=linux-dpdk --enable-schedule-scalable --with-sdk-install-path=<dpdk path> > Bill Fischofer(Bill-Fischofer-Linaro) wrote: > I did some experimenting with this and this seems to compile and run just > fine without these Makefile.am changes. Am I missing something? >> nagarahalli wrote >> As we discussed in the call today, this is temporary. Once the changes, not >> to use packet meta data, to default queue implementation is done, these can >> go away. >>> Bill Fischofer(Bill-Fischofer-Linaro) wrote: >>> Is this intended to be a temporary change? The problem with conditional >>> compilation is that it's very easy to make changes that break another file >>> that isn't compiled unless some special config option is used. That's why >>> in today's config-based scheduler selection we compile all modules and the >>> only thing that's actually conditional is which entry points are plugged >>> into the scheduler interface table. >>> >>> For 2.0 we want to eliminate config-time selections like this, so all >>> variants will necessarily have to be compiled to be included in the single >>> binary and selected dynamically at runtime. So I'm not sure this sort of >>> change is consistent with that goal. This seems to need more discussion as >>> to why we're doing this here. https://github.com/Linaro/odp/pull/303#discussion_r154733899 updated_at 2017-12-04 18:30:35