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 <[email protected]>
On 9/27/18, 11:10 AM, "[email protected] on behalf of Ben Pfaff"
<[email protected] on behalf of [email protected]> 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 <[email protected]>
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
[email protected]
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openvswitch.org%2Fmailman%2Flistinfo%2Fovs-dev&data=02%7C01%7Cdball%40vmware.com%7Ccaf22dd3c47047c8121d08d624a480ed%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636736686314994726&sdata=Uo%2BnJ%2BjXK4BO30alYXcJmmNqX8R8euqITskV3hpJPj4%3D&reserved=0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev