On Thu, Sep 17, 2020 at 1:15 PM Dumitru Ceara <[email protected]> wrote:
> On 9/16/20 8:01 PM, Han Zhou wrote:
> > If a resource doesn't have any lflows referencing it any more, the
> > node ref_lflow_node in lflow_resource_ref.ref_lflow_table should
> > be removed and released. Otherwise, the table could keep growing
> > in some scenarios, until a recompute is triggered. Now that the
> > chance of triggering recompute is lower and there are more resources
> > references maintained (for type port-binding), this problem is
> > more likely to happen than before. This patch fixes the problem
> > by releasing the node as soon as it is not needed.
> >
> > Fixes: d2aa2c7cafe ("ovn-controller: Maintain resource references for
> logical flows.")
> > Signed-off-by: Han Zhou <[email protected]>
> > ---
> > controller/lflow.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/controller/lflow.c b/controller/lflow.c
> > index db078d2..b549067 100644
> > --- a/controller/lflow.c
> > +++ b/controller/lflow.c
> > @@ -292,6 +292,10 @@ lflow_resource_destroy_lflow(struct
> lflow_resource_ref *lfrr,
> > LIST_FOR_EACH_SAFE (lrln, next, list_node, &lfrn->lflow_ref_head) {
> > ovs_list_remove(&lrln->list_node);
> > hmap_remove(&lrln->rlfn->lflow_uuids, &lrln->hmap_node);
>
> I still think a short comment would be useful here, e.g.:
>
> /* Resources that are not referred by any logical flows would be
> * cleaned up in any case during a recompute so it's better to
> * remove them early.
> */
>
> > + if (hmap_is_empty(&lrln->rlfn->lflow_uuids)) {
> > + hmap_remove(&lfrr->ref_lflow_table, &lrln->rlfn->node);
> > + ref_lflow_node_destroy(lrln->rlfn);
> > + }
> > free(lrln);
> > }
> > free(lfrn);
> >
>
> In any case,
>
> Acked-by: Dumitru Ceara <[email protected]>
>
Acked-by: Numan Siddique <[email protected]>
Thanks
Numan
>
> Thanks,
> Dumitru
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev