We don't really need to link the env for these unit tests.
We were doing it mostly for convenience. We can easily
leave out the env library, and just define a few stubs
for the functions that the memory unit tests call.
This helps prepare for the next patch that will use
rte_malloc/rte_free to allocate mapping structures. By
not linking the env libraries, we can just stub
rte_malloc/rte_free with simple malloc/free, rather than
doing a full env initialization to get rte_malloc/rte_free
working.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I007290299ab801fbc1b8fd6f633937314d4b1f8c
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476517
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
CPU profiling on workloads with intensive vtophys
operations (i.e. very small CB-DMA transfers) exposed
overhead introduce by spdk_vtophys having to call
spdk_mem_map_translate in a different compilation
unit. Let's just move the vtophys.c contents into
memory.c so that spdk_vtophys can inline
spdk_mem_map_translate and avoid this extra overhead.
This of course breaks the memory and vtophys unit
tests, so some additional changes are needed there
to keep everything linking correctly.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I295ed5f441d3eec7abdbc9d881c49d2174ec9f48
Reviewed-on: https://review.gerrithub.io/c/444975
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
mk/spdk.unittest.mk already includes mk/spdk.common.mk, so it's
not needed. This also fixes an issue where touching an included
.mk file would not trigger unit tests to rebuild if they had
this duplicated mk/spdk.common.mk include.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I41a04eb77ce468849cb9b53bd1f76df6fec06e46
Reviewed-on: https://review.gerrithub.io/c/443980
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
spdk.unittest.mk includes spdk.app.mk, but some unit test
Makefiles include both spdk.unittest.mk and spdk.app.mk,
meaning spdk.app.mk gets included twice. Fix that.
This hasn't been an issue because spdk.app.mk currently
only includes variables - but no rules.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I23d39e8084f79442fb06ae9b5a6a68d6134adff4
Reviewed-on: https://review.gerrithub.io/434281
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This can just be replaced with ENV_LIBS - similar
to other application Makefiles.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Icad14e6f74264389972c7798aac493e584f7c8c3
Reviewed-on: https://review.gerrithub.io/434280
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Add dependency $(ENV_LIBS) for test/env/*
as part of new variable $(ADDITIONAL_LIBS) which is direct dependency
of $(APP) in mk/spdk.unittest.mk
This solves the problem of
make not triggering LINKing for test/env/*
after changes made to lib/env_dpdk/*.c
Issue was that Makefiles in test/env/*/ classified tests as unittests
by including mk/spdk.unittest.mk
But unittests are not using env_dpdk which means that
unittests don't relink on env_dpdk update
Change-Id: I91b6690dc92d68bc69bbf11ac5336d3a7f56e4e4
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/425665
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>