[dpdk-dev] [PATCH v4 02/16] net/mrvl: add mrvl net pmd driver skeleton

Vincent JARDIN vincent.jardin at 6wind.com
Thu Oct 12 09:59:49 CEST 2017


+1 with Thomas, see below,

Le 12/10/2017 à 08:51, Tomasz Duszynski a écrit :
>> What is MUSDK_DMA_MEMSIZE?
>> If the value cannot change, it must be a constant in the code.
>> If it can change, it should be a run-time driver option.
> It's up to the user what MUSDK_DMA_MEMSIZE is going to be. Currently it's
> set to value that should work it all cases.
> 
> Except that, MUSDK_DMA_MEMSIZE is used as synchronization point for net
> and crypto (on condition they are used together i.e ipsec-secgw).
> 
> Suppose we have two different MUSDK_DMA_MEMSIZE defined for net/crypto then
> dma memsize allocated will depend on driver probing sequence which might
> confuse user.
It does not make sense,
+	/*
+	 * ret == -EEXIST is correct, it means DMA
+	 * has been already initialized (by another PMD).
+	 */
+	ret = mv_sys_dma_mem_init(RTE_MRVL_MUSDK_DMA_MEMSIZE

int mv_sys_dma_mem_init(u64 size)
{
         struct sys_dma  *i_sys_dma;
         int err;

         if (sys_dma) {
                 pr_err("Dma object already exits.\n");
                 return -EEXIST;
         }

So, I do not understand why you cannot add some checks into the drivers 
to assert that users must have set the same value for both when calling:
   ret = mv_sys_dma_mem_init(my_best_size);
maybe, you need to fix and improve musdk first to avoid DPDK from 
getting such compilation issues.

best regards,
   Vincent


More information about the dev mailing list