On Mon, Apr 24, 2023 at 5:49 AM Ilya Maximets <[email protected]> wrote:

> On 4/10/23 20:45, Han Zhou wrote:
> >
> >
> > On Wed, Apr 5, 2023 at 12:50 PM Ilya Maximets <[email protected]
> <mailto:[email protected]>> wrote:
> >>
> >> On 4/5/23 21:48, Ilya Maximets wrote:
> >> > This patch set covers removal of expressions which are subsets of
> other
> >> > wider expressions.  This allows to avoid flow explosion in case of
> >> > negative matches.  More details are in commit messages.
> >> >
> >> > Version 2:
> >> >   * Became a patch set.
> >> >   * Added tests and missing bitmap.h include.
> >> >   * Code switched to work with bitwise maskable fields only (ORDINAL).
> >> >   * Added a new patch to combine smaller expressions into wider ones.
> >> >   * Added a patch to fix a crash uncovered with expression
> aggregation.
> >> >
> >> > Version 3:
> >> >   * Dropped patch 3 for performance reasons for now, because it
> doesn't
> >> >     allow to make use of I-P in many cases.
> >> >   * Patch 1 re-worked to not cause performance issues for normal
> >> >     address sets generated in OVN.
> >> >   * Performance of the patch 1 significantly improved by not
> perfroming
> >> >     a full n^2 search and not comparing huge empty parts of subvalues.
> >> >     The patch became a bit less straightforward, but I hope it's still
> >> >     fairly readable.
> >> >
> >> > Version 4:
> >> >   * Added extra comments.
> >> >   * Added ACK from Han to patch 2.
> >> >   * Re-worked path shortening (next[]) to track the last non-NULL
> entry.
> >> >   * Restricted superset optmization to expressions that do not track
> >> >     address sets.  To preserve ability to use I-P. [Han]
> >
> > Thanks Ilya. Ideally the restriction can be more relaxed to allow
> merging for expr resulted from negation on address sets, because address
> set I-P doesn't support negation anyway and it would be expensive without
> merging for supersets. But I think the current approach should be fine
> because from what I can tell it is less common to apply negation on address
> sets. This can be improved further if needed.
>
> I think, this should already work, because expansion of "!="
> expression will loose the address set reference anyway during
> simplification in expr_simplify_ne().


Yes you are right! Sorry for missing this point.

Thanks,
Han

>
>
> >
> > So, I went ahead and applied the series to main.
>
> Thanks!
>
> Best regards, Ilya Maximets.
>
> >
> > Regards,
> > Han
> >
> >> Forgot to add:
> >>
> >>     * Fixed the memset value: s/0xf/0xff/.  [Han]
> >>
> >> >
> >> > Ilya Maximets (2):
> >> >   expr: Remove supersets from OR expressions.
> >> >   expr: Avoid crash if all sub-expressions crushed down to 'true'.
> >> >
> >> >  include/ovn/expr.h |   1 +
> >> >  lib/expr.c         | 255
> +++++++++++++++++++++++++++++++++++----------
> >> >  tests/ovn.at <http://ovn.at>       |  12 +++
> >> >  3 files changed, 212 insertions(+), 56 deletions(-)
> >> >
> >>
>
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to