[dpdk-dev] [PATCH v2 0/6] bonding: locks
Iremonger, Bernard
bernard.iremonger at intel.com
Fri Jun 10 20:24:50 CEST 2016
Hi Bruce,
> -----Original Message-----
> From: Richardson, Bruce
> Sent: Friday, June 10, 2016 3:46 PM
> To: Iremonger, Bernard <bernard.iremonger at intel.com>
> Cc: dev at dpdk.org; Doherty, Declan <declan.doherty at intel.com>; Ananyev,
> Konstantin <konstantin.ananyev at intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2 0/6] bonding: locks
>
> On Thu, May 26, 2016 at 05:38:41PM +0100, Bernard Iremonger wrote:
> > Add spinlock to bonding rx and tx queues.
> > Take spinlock in rx and tx burst functions.
> > Take all spinlocks in slave add and remove functions.
> > With spinlocks in place remove memcpy of slaves.
> >
> > Changes in v2:
> > Replace patch 1.
> > Add patch 2 and reorder patches.
> > Add spinlock to bonding rx and tx queues.
> > Take all spinlocks in slave add and remove functions.
> > Replace readlocks with spinlocks.
> >
> > Bernard Iremonger (6):
> > bonding: add spinlock to rx and tx queues
> > bonding: grab queue spinlocks in slave add and remove
> > bonding: take queue spinlock in rx/tx burst functions
> > bonding: add spinlock to stop function
> > bonding: add spinlock to link update function
> > bonding: remove memcpy from burst functions
> >
> > drivers/net/bonding/rte_eth_bond_api.c | 52 +++++++-
> > drivers/net/bonding/rte_eth_bond_pmd.c | 196
> ++++++++++++++++++-----------
> > drivers/net/bonding/rte_eth_bond_private.h | 4 +-
> > 3 files changed, 173 insertions(+), 79 deletions(-)
> >
> > --
>
> The patches in this set are missing any explanation for the reasons behind
> each patch. The commit messages are empty for every patch.
>
> I'm also concerned at the fact that this patchset is adding lock operations all
> over the bonding PMD. While other PMDs need synchronization between
> control plane and data plane threads so that e.g. you don't do IO on a
> stopped port, they don't use locks so as to get max performance. Nowhere
> in the patchset is there an explanation as to why bonding is so different that
> it needs locks where other PMDs can do without them. This should also be
> explained in each individual patch as to why the area covered by the patch
> needs locks in this PMD (again, compared to other PMDs)
>
> Thanks,
> /Bruce
I will be sending a v3 for this patchset.
The empty commit messages were an oversight on my part, this will be corrected in the v3.
I will also try to explain why the locks are needed.
Regards,
Bernard.
More information about the dev
mailing list