[ovs-dev] [patch v4] conntrack: Add rcu support.

Ben Pfaff blp at ovn.org
Thu Sep 27 20:36:09 UTC 2018


OK.  I'll wait for the 3-patch series.

On Thu, Sep 27, 2018 at 08:14:41PM +0000, Darrell Ball wrote:
> Below is the recent private commit message I have for the patch:
> 
> However, I plan to split out to 3 main patches, with probably a few minor
> cosmetic patches.
> 
> 1/ cmap performance and code simplification.
> 2/ Eliminating exporting private datastructures to outside modules
> 3/ Eliminating passing 'ct' structure as function parameter to most functions
> 
> Thanks Darrell
> 
> 
>     conntrack: Add rcu support.
>     
>     Add in rcu support for conntrack. At the same time, the array of
>     hmaps is replaced by a cmap.  Using a single map also simplifies
>     the handling of nat and allows the removal of the nat_conn map.
>     Hence, there is a net code reduction.
>     
>     The main reason for adding rcu is performance considerations with
>     multiple threads.
>     
>     I'll probably split out into several patches later, as other changes
>     were made at the same time. These include: getting rid of the private
>     conntrack structure exported outside of conntrack; these fields are
>     made static to conntrack now. Also there is less parameter passing,
>     since some private variables like hash_basis, which is written once at
>     init time is now referenced as a static variable rather then passed
>     through to many functions.
>     
>     Signed-off-by: Darrell Ball <dlu998 at gmail.com>
> 
> 
> 
> 
> 
> 
> 
> On 9/27/18, 11:10 AM, "ovs-dev-bounces at openvswitch.org on behalf of Ben Pfaff" <ovs-dev-bounces at openvswitch.org on behalf of blp at ovn.org> wrote:
> 
>     On Tue, Sep 18, 2018 at 01:22:50PM -0700, Darrell Ball wrote:
>     > Add in rcu support for conntrack. At the same time, the array of
>     > hmaps is replaced by a cmap.  Using a single map also simplifies
>     > the handling of nat and allows the removal of the nat_conn map.
>     > There is still some cleanup to do and a few things to check. I'll
>     > probably split out into several patches later, as some cosmetic
>     > changes were made at the same time, like getting rid of the
>     > private conntrack structure contents exported outside of conntrack;
>     > these fields are made static to conntrack now.
>     > 
>     > Signed-off-by: Darrell Ball <dlu998 at gmail.com>
>     
>     Hi Darrell, thanks for the patch.
>     
>     Can you add a sentence or two to the commit message, please, explaining
>     the motivation or the goal for the patch?  It's not clear to me whether
>     this is a performance optimization, or a cleanup, or a fix for a race,
>     etc.  This information helps review the patch and it also helps people
>     looking through the history tracking down a bug etc.
>     _______________________________________________
>     dev mailing list
>     dev at openvswitch.org
>     https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openvswitch.org%2Fmailman%2Flistinfo%2Fovs-dev&amp;data=02%7C01%7Cdball%40vmware.com%7Ccaf22dd3c47047c8121d08d624a480ed%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636736686314994726&amp;sdata=Uo%2BnJ%2BjXK4BO30alYXcJmmNqX8R8euqITskV3hpJPj4%3D&amp;reserved=0
>     
> 


More information about the dev mailing list