[dpdk-dev] [PATCH v3 3/4] bonding: take queue spinlock in rx/tx burst functions

Ferruh Yigit ferruh.yigit at intel.com
Fri Sep 9 13:29:36 CEST 2016


Hi Bernard,

This is an old patch, sorry for commenting after this long.

On 6/12/2016 6:11 PM, Bernard Iremonger wrote:
> Use rte_spinlock_trylock() in the rx/tx burst functions to
> take the queue spinlock.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> ---

...

>  static uint16_t
> @@ -143,8 +154,10 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
>         uint8_t i, j, k;
> 
>         rte_eth_macaddr_get(internals->port_id, &bond_mac);
> -       /* Copy slave list to protect against slave up/down changes during tx
> -        * bursting */

This piece,

...

>         for (i = 0; i < num_of_slaves; i++) {
> -               struct port *port = &mode_8023ad_ports[slaves[i]];
> +               struct port *port;
> +
> +               port = &mode_8023ad_ports[internals->active_slaves[i]];

And this piece seems needs to be moved into next patch in the patchset.

...

And if you will send new version of the patchset, there are a few
warnings from check-git-log.sh:

Wrong headline prefix:
        bonding: remove memcpy from burst functions
        bonding: take queue spinlock in rx/tx burst functions
        bonding: grab queue spinlocks in slave add and remove
        bonding: add spinlock to rx and tx queues
Wrong headline lowercase:
        bonding: take queue spinlock in rx/tx burst functions
        bonding: add spinlock to rx and tx queues

Thanks,
ferruh



More information about the dev mailing list