[dpdk-dev] [PATCH 1/2] ixgbe: remove static qualifier for thread safety

Masaru Oki m-oki at stratosphere.co.jp
Thu Oct 23 01:43:39 CEST 2014


Hi,

in this code, pointer of local variable (mb_def) is returned by your changes.
mb_def should be static for each thread.

2014-10-22 19:55 GMT+09:00 Bruce Richardson <bruce.richardson at intel.com>:
> Remove the "static" prefix to the template mbuf variable in
> ixgbe_rxq_vec_setup function. This will then allow different
> threads to initialize different RX queues at the same time,
> without one overwriting the other's data.
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
>  lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> index a0d3d78..e813e43 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> @@ -730,7 +730,7 @@ static struct ixgbe_txq_ops vec_txq_ops = {
>  int
>  ixgbe_rxq_vec_setup(struct igb_rx_queue *rxq)
>  {
> -       static struct rte_mbuf mb_def = {
> +       struct rte_mbuf mb_def = {
>                 .nb_segs = 1,
>                 .data_off = RTE_PKTMBUF_HEADROOM,
>  #ifdef RTE_MBUF_REFCNT
> --
> 1.9.3
>


More information about the dev mailing list