[ovs-dev] [PATCH] ovn-northd: Consistently use Datapath_Binding UUID for hashing flows.

Yifeng Sun pkusunyifeng at gmail.com
Fri Mar 9 00:20:19 UTC 2018


Thanks for the fix.

Reviewed-by: Yifeng Sun <pkusunyifeng at gmail.com>

On Fri, Feb 23, 2018 at 1:03 PM, Ben Pfaff <blp at ovn.org> wrote:

> In one place, ovn-northd was hashing Logical_Switch or Logical_Router UUIDs
> for ovn_lflow, and in another place it was hashing Datapath_Binding UUIDs.
> This caused problems.  This commit changes ovn-northd to always hash the
> Datapath_Binding UUID.
>
> Jacob Sitnicki reported the following performance improvement for a similar
> fix:
>
>   Children      Self  Command     Shared Object        Symbol
> before:
>     76.19%     0.01%  ovn-northd  ovn-northd           [.] ovnnb_db_run
>     11.04%     0.43%  ovn-northd  ovn-northd           [.] ovn_lflow_find
> after:
>     75.16%     0.05%  ovn-northd  ovn-northd           [.] ovnnb_db_run
>      2.49%     0.17%  ovn-northd  ovn-northd           [.] ovn_lflow_find
>
> Fixes: 8bf332225d4a ("ovn-northd: Reduce amount of flow hashing.")
> Reported-by: Jakub Sitnicki <jkbs at redhat.com>
> Signed-off-by: Ben Pfaff <blp at ovn.org>
> ---
>  ovn/northd/ovn-northd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
> index 5d764f6e9404..dcaa77dbf939 100644
> --- a/ovn/northd/ovn-northd.c
> +++ b/ovn/northd/ovn-northd.c
> @@ -2278,7 +2278,7 @@ struct ovn_lflow {
>  static size_t
>  ovn_lflow_hash(const struct ovn_lflow *lflow)
>  {
> -    return ovn_logical_flow_hash(&lflow->od->key,
> +    return ovn_logical_flow_hash(&lflow->od->sb->header_.uuid,
>                                   ovn_stage_get_table(lflow->stage),
>                                   ovn_stage_get_pipeline_name(
> lflow->stage),
>                                   lflow->priority, lflow->match,
> --
> 2.16.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list