Message ID | 20170109031516.47731-2-diproiettod@vmware.com |
---|---|
State | Accepted |
Headers | show |
On Sun, Jan 08, 2017 at 07:14:59PM -0800, Daniele Di Proietto wrote: > We keep all the per-port classifiers around, since they can be reused, > but when a pmd thread is destroyed we should free them. > > Found using valgrind. > > Fixes: 3453b4d62a98("dpif-netdev: dpcls per in_port with sorted > subtables") > > Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Ben Pfaff <blp@ovn.org>
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index d1f9661a2..9003f703d 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -3333,6 +3333,7 @@ dp_netdev_destroy_pmd(struct dp_netdev_pmd_thread *pmd) /* All flows (including their dpcls_rules) have been deleted already */ CMAP_FOR_EACH (cls, node, &pmd->classifiers) { dpcls_destroy(cls); + ovsrcu_postpone(free, cls); } cmap_destroy(&pmd->classifiers); cmap_destroy(&pmd->flow_table);
We keep all the per-port classifiers around, since they can be reused, but when a pmd thread is destroyed we should free them. Found using valgrind. Fixes: 3453b4d62a98("dpif-netdev: dpcls per in_port with sorted subtables") Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> --- lib/dpif-netdev.c | 1 + 1 file changed, 1 insertion(+)