On Sep 26, 2014, at 11:33 AM, Ben Pfaff <b...@nicira.com> wrote: > On Wed, Sep 24, 2014 at 11:24:01AM -0700, Jarno Rajahalme wrote: >> Earlier I have seen the frags checking suspiciously high in perf >> reports, but did not understand why. Maybe this explains it: >> >> Previously we checked frags handling before each flow table lookup. >> As the nw_frags field is not writeable, it suffices to check them >> once, before the first table lookup. Also, ofproto-dpif-xlate already >> has code for this, but it was run after the first table lookup. This >> check is now done only once, before the first table lookup. >> >> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> > > By "frags checking suspiciously high in perf reports", do you mean > these deleted lines of code in rule_dpif_lookup_in_table() were > showing up high in perf reports? > > - if (ofproto->up.frag_handling != OFPC_FRAG_NX_MATCH) { > - /* We always unwildcard dl_type and nw_frag (for IP), so they > - * need not be unwildcarded here. */ > - > - if (flow->nw_frag & FLOW_NW_FRAG_ANY) { >
Yes they did. I could make it a bit better just by changing the order of the checks, checking flow->nw_frag first, and ofproto->ip.frag_handling later, so it must have been a cache miss on ofproto->up.frag_handling. This was already some months ago, and I have not repeated the tests recently. > I'm really surprised to hear that. > To be clear, it was in the range of < 1%, so it was not that high, but I was surprised to see it there at all. Maybe I should just remove the word “high” from the commit message? Jarno > But maybe you mean something else...? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev