[dpdk-dev] [PATCH] nfp: avoiding concurrency when hardware reconfig

Bruce Richardson bruce.richardson at intel.com
Tue May 3 13:01:49 CEST 2016


On Tue, Apr 26, 2016 at 01:14:15PM +0100, Alejandro Lucero wrote:
> Some apps calling some functions from different threads at the
> same time could lead to reconfig problems. Reconfig mechanism is
> based on a hardware queue where incrementing a counter signals the
> firmware to do the reconfig. If there are two increments before the
> first one has been processed the firmware will stop and a device
> reset is necessary.
> 
> Signed-off-by: Alejandro Lucero <alejandro.lucero at netronome.com>
> ---
>  drivers/net/nfp/nfp_net.c     | 8 ++++++++
>  drivers/net/nfp/nfp_net_pmd.h | 1 +
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index bc0a3d8..ba0ee04 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -58,6 +58,7 @@
>  #include "nfp_net_pmd.h"
>  #include "nfp_net_logs.h"
>  #include "nfp_net_ctrl.h"
> +#include <rte_spinlock.h>

Hi Alejandro,

I think this header addition is in the wrong place in the code. When I apply
this patch to next-net and try a recompile I get the error:

  CC nfp_net.o
  In file included from /home/bruce/next-net/dpdk-next-net/drivers/net/nfp/nfp_net.c:58:0:
  /home/bruce/next-net/dpdk-next-net/drivers/net/nfp/nfp_net_pmd.h:409:2: error: unknown type name ‘rte_spinlock_t’
    rte_spinlock_t reconfig_lock;
    ^

You either need to put the spinlock include before the nfp_net_pmd.h include
or, perhaps better, put the spinlock include inside the nfp_net_pmd header file
since that is where the spinlock variable is being defined.

/Bruce



More information about the dev mailing list