On 3 Oct 2022, at 10:00, Ales Musil wrote:
<SNIP> >>>>> -dp_clone_done: >>>>> - /* The clone's conntrack execution should have no effect on the >>>> original >>>>> - * packet. */ >>>>> - ctx->conntracked = old_conntracked; >>>>> + /* Let's run the actions as if they are reversible, if we find out >>>> that >>>>> + * there was any irreversible action we can restore the xlate_ctx >>>> and run >>>>> + * the do_clone instead. If the action is last we don't have to >>>> check and >>>>> + * can just proceed with the actions. */ >>>> >>>> Any stats to suggest that this is the best approach? I’m wondering if >> this >>>> is the common case, or if the real clone is more common. If it's the >>>> latter, we might want to swap the order. >>>> >>>> Maybe you can do some tests with OVN and add two coverage counters, one >>>> for total invocation of this function and one for real clones, and see >> the >>>> results while running through a real-user OVN use case? >>>> >>> >>> I will try to come up with some OVN tests that might give a better >>> perspective which is more common. For start I'll run the counters over >> our >>> tests in OVN. >> >> Thanks! >> >> > Hi, > > I got the counters from OVN tests, it should represent some pieces of > normal workflows. > > On average the actual clone is happening in 0.229%. Which suggests that the > order is correct. > > The raw data are available at https://pastebin.mozilla.org/VqKTaO2e for 21 > days. First number are calls to clone_xlate_actions > second number is how much of those were actual clones. Thanks for running these tests! Verify interesting numbers, I was surprised by the low number of actual clones needed. //Eelco _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
