[dpdk-dev,2/2] mk: move crypto scheduler library

Message ID 20170131115950.25660-2-ferruh.yigit@intel.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation success Compilation OK

Commit Message

Ferruh Yigit Jan. 31, 2017, 11:59 a.m. UTC
  There is already a block for crypto libraries, move the PMD library to
that block.

This prevents extra ifdef check for cryptodev.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 mk/rte.app.mk | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
  

Comments

Thomas Monjalon Jan. 31, 2017, 2:10 p.m. UTC | #1
2017-01-31 11:59, Ferruh Yigit:
> There is already a block for crypto libraries, move the PMD library to
> that block.
> 
> This prevents extra ifdef check for cryptodev.

That's why I thought also when reading this patch:
	http://dpdk.org/commit/dbb336407
Then I've read its message:
"Different than other cryptodev PMDs, scheduler PMD is required to be built
as shared libraries."

I guess the explanation is that it has an API (like bonding has):
	drivers/crypto/scheduler/rte_cryptodev_scheduler.h

However, it is neither referenced in doc/api/doxy-api.conf nor
doc/api/doxy-api-index.md.


> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -103,10 +103,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER)        += -lrte_reorder
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT)    += -lrte_pmd_xenvirt -lxenstore
>  
> -ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
> -endif
> -
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
>  # plugins (link only if static libraries)
>  
> @@ -153,6 +149,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lrte_pmd_zuc
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -L$(LIBSSO_ZUC_PATH)/build -lsso_zuc
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -lrte_pmd_armv8
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
>  endif # CONFIG_RTE_LIBRTE_CRYPTODEV
>  
>  endif # !CONFIG_RTE_BUILD_SHARED_LIBS


I must say the quick overview I had on this PMD is not very promising.
Please Pablo and Fan, try to better explain things in the patches
and get more review on framework integration.
  
Ferruh Yigit Jan. 31, 2017, 2:20 p.m. UTC | #2
On 1/31/2017 2:10 PM, Thomas Monjalon wrote:
> 2017-01-31 11:59, Ferruh Yigit:
>> There is already a block for crypto libraries, move the PMD library to
>> that block.
>>
>> This prevents extra ifdef check for cryptodev.
> 
> That's why I thought also when reading this patch:
> 	http://dpdk.org/commit/dbb336407
> Then I've read its message:
> "Different than other cryptodev PMDs, scheduler PMD is required to be built
> as shared libraries."

This patch requires following patch for shared library compilation:
http://dpdk.org/dev/patchwork/patch/20091/

I tried to separate patches, but it seems not able to completely.

Overall, for this patch and above referenced one, need to decide how to
link PMDs with APIs (like bonding, xenvirt)

> 
> I guess the explanation is that it has an API (like bonding has):
> 	drivers/crypto/scheduler/rte_cryptodev_scheduler.h
> 
> However, it is neither referenced in doc/api/doxy-api.conf nor
> doc/api/doxy-api-index.md.
> 
> 
<...>
  

Patch

diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index aeadbc3..a4a09d8 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -103,10 +103,6 @@  _LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER)        += -lrte_reorder
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT)    += -lrte_pmd_xenvirt -lxenstore
 
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
-endif
-
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
 # plugins (link only if static libraries)
 
@@ -153,6 +149,7 @@  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lrte_pmd_zuc
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -L$(LIBSSO_ZUC_PATH)/build -lsso_zuc
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -lrte_pmd_armv8
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
 endif # CONFIG_RTE_LIBRTE_CRYPTODEV
 
 endif # !CONFIG_RTE_BUILD_SHARED_LIBS